原码,反码,补码的定义是什么。

有符号数有三种表示方法,即原码、反码和补码。

但是在计算机系统中,数值一律用补码来表示和存储。

所以在计算机系统中,原码和反码,都是不存在的。

----------

想要理解补码,要先从补数开始。

钟表的时针转一圈,周期是12小时。

倒拨3小时,就可以用正拨9小时代替。

9就是-3的补数。 9=12-3。

同理分针倒拨X分,就可以用正拨(60-X)代替。

60是分针的周期。

------

对于两位十进制0~99,周期就是一百。

这时减一,你就可以用+99代替。

   25-1=24

   25+99=(1)24

结果取两位舍弃进位。这两种算法功能就是相同的。

   99,就称为-1的补数。

   98,就是-2的补数。

   。。。

   负数的补数=周期+该负数。

利用补数就可以用加法,代替减法运算。

正数不需要求补数。

------

计算机使用二进制,补数,就改称:补码。

八位二进制共有256个数字。负数的补码=256+该负数。

16位二进制,共有2^16个数字。负数的补码=65536+该负数。

这就是补码的定义式。在你的书上一定能找到这种算式。

------

在八位时:

 -1的补码是:256-1=255=11111111(二进制)。

 -2的补码是:254=11111110。

 -3的补码是:253=11111101。

 。。。

 -128补码:128=10000000。

------

有了补码计算机仅需要一个加法器,就可以加减通用了。

而原码和反码,不具备这种能力。

所以原码和反码,究竟是怎么定义,就不必关心了。

因为它们,毫无用处。

其他文章