注:数0的补码表示是唯一的: +0的补码=+0的反码=+0的原码=00000000 -0的补码=11111111+1=00000000(mod 2

2025-04-20 00:16:25
推荐回答(2个)
回答1:

正数的原码,反码,补码都是一样的,0的原码和反码都有两个,但是0的补码是唯一的。

负数的原码是机器字长的首个数值位为1;反码是原码除首位为1外,其他数值取反,(1变成0,0变成1);补码就是反码再加1。
假设机器字长8位,则
-0的原码1000,0000, -0的反码就是1111,1111,-0的补码就是反码加1后变成1,0000,0000,首位溢出后抛弃,变成-0的补码还是0000,0000。
个人感觉有+0和-0才会出现混乱,数学上的1+(-1)=0,那到计算机里应该是-0还是+0啊,(反正自己没法理解+0和-0),最后只能用补码来进行负数的计算,结果才会正确。

回答2:

在数学上,正0 和负0都是0,是同一个数。数学上也把所有整数看作是正数、零、负数。可以看出零与符号无关。
计算机上正0和负0都用相同的表示,正是为了避免出现混乱。