C++中0和-0是相等的吗,还是说C++并不区分0和-0

如题,写了一条判断语句

if(0==-0){/*...*/}

返回值说明两者是相等的,那么C++区分0和-0吗?

从补码的角度来看,-0 的补码是0000...000,因此+0 = -0,也就是同一个数。

没见过-0啊,只有你这么强制的写-0才会有这个东西。用变量是没有-0这个东西的,都是0

-0是个啥??

应该是没有区别的,+ - 是二进制计算搞出来了

0不就是-0???

返回值相等,因为+0和-0的值都是0,一般来说0的正负没什么意义。

0就是0,没有正负之分,

img

-0本身不是一个数,或者说负号本身根本就不是数
-100其实就是0-100
-0就是0-0
这里减号就是单纯的一个数学运算符
你也可以这样写
int a=0;
a=-a;

img

采纳下,谢谢!