为什么“对于真值0,源码有两种不同的表现形式,而补码却只有唯一的一种表现形式.”?

为什么“对于真值0,源码有两种不同的表现形式,而补码却只有唯一的一种表现形式.”?

0可以是+0,也可以是-0
0的原码为:10000(-0),00000(+0)
+0的补码和原码相同,为00000
-0的补码是在-0的原码(10000)的基础上,符号位不变,其它位按位取反再在低位加1(11111+1=00000),进而得到-0的补码00000
所以补码表示0只有一种情况00000.而原码则表示了两次,分别为10000和00000.
希望可以帮到你,谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-07
原码 +0, -0
补码中的-0用于表示范围内可以表示的最小负数。本回答被提问者和网友采纳
第2个回答  2022-07-26

事物的发展是逐步进行的。

首先,人们想出了原码,确定了一个符号位,并且希望符号位也参加运算。

  但是,实践证明,用原码来做加减法运算,结果,并不全正确。

    原码,失败了。

然后,又制造出了反码。

  但是,实践证明,用反码来计算,结果,也不理想。

    反码,也失败了。

最后,弄出来了补码。

  实践证明,采用补码来计算,结果全都正确。

总结:

  原码反码之所以失败,就是不尊重事实。

  事实上,只有一个零,而原码反码,却都编制了两个码!

  违反了常规,出错,是必然的。

  所以,计算机中,只用补码,并不用原码和反码。

相似回答