在计算机中对数据进行运算操作时,为什么要引入补码表示法

如题所述

类似于:时针倒拨 3 小时,改为正拨 9 小时,效果相同。

那么,计算机中的负数,也可以改为正数(即补码)。

同样,减法运算,也就可以用加法运算代替了。

于是,借助于补码,就统一了加减法,就能够简化计算机的硬件。

十进制比较容易理解:

  25 - 1 = 24

  25 + 99 = (一百) 24。

只要忽略进位,+99 就能代替-1。

+99 就称为-1 的补数。

在这里用了 2 位 10 进制。

求补数的算法:补数 = 负数 + 10^2。

-----------------------

计算机用二进制,补数,改名为:补码

一个字节,是 8 位 2 进制。

计数范围是:0000 0000 ~ 1111 1111(十进制 255)。

计数周期是:2^8 = 256。

求补码的算法:负数的补码=负数+2^8。

那么:

-1 的补码=-1 + 256 = 255 = 1111 1111。

-2 的补码=-2 + 256 = 254 = 1111 1110。

。。。

例如,7-2 = 5,用补码计算如下:

      7 = 0000 0111

   [-2] 补 = 1111 1110

 ---相加------------

  得: (1)   0000 0101  = 5

舍弃进位,结果就是 5,结果完全正确。

-----------------------

补码的来源,与原码反码毫无关系。

补码,它就是一个正数,什么符号位也没有。

“取反加一”这些,都没有什么理论。

介绍“取反加一”的,都是不讲理的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-08
因为补码可以很方便地将减法运算表示成加法运算。于是运算单元中只需加法逻辑电路即可。本回答被网友采纳
相似回答