计算机系统采用补码运算的目的
计算机系统采用补码运算的目的?回答如下:
原因在于,使用补码,可以将符号位和隐散数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
正整数的补码是其二进制表示,与原码相同。
【例】+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)
扩展资料
已知一个数的补码,求原码的操作其实就是对该补码再求补码:
⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
【烂携兆例】已知一个补码为11111001,则原码是10000111(-7)。
因为符号位为“1”,表示是一个负数,所以该位不变,仍为饥租“1”。
其余七位1111001取反后为0000110;
再加1,所以是10000111。
首先,你得理解:什么是补码。
从“机器数真值符号位原码取反加一”开始学习补码,就误入歧途了。
你就是全背熟了,你也不知道:为什么使用补码。
--------------------
其实,补码的来源,是【舍弃进位】。
而且,也不仅仅是二进制才有补码。
你看十进制,两位数,就是:0 ~ 99。
那么就有:27 + 99 = (一百) 26
你也可以:27 - 1 = 26
如果你忽略进位,仍然保持两位数,
这两种算法,功能就是完全相同的!
·
如果在计算机中舍弃进位:
● 负数,就可以用正数代替了。
● 减法,也就可以用加法运算来完成了。
负数和减法,都没有了,减法器,当然也就不需要了。
那么,计算机只需配置一个加法器,便可横行天下!
这就是补码(即正数)的来历,以及存在意义。
.
计算机使用二进制。
八位二进制数是:0000 0000 ~ 1111 1111。
也就是十进制数:0 ~ 255。
如果出现了进位:2^8 = 256。
·
那么,加上 255 (1111 1111),再舍弃进位,就是-1 了。
同理,+254 (1111 1110),就是-2。
。。。 。。。
最后,+128 (1000 0000),就是-128。
以上这些正数,就是计算机专家发明的“补码”。
其实,进位,不过就是二年级的知识点。
计算机专家弄不清楚,就搞成了发明创造!
你说可笑不?
另外,加上 0 ~ 127 之后,并不会产生进位。
也就不必舍弃了,因此,这些数,也就没有负数的表现。
所以,0 ~ 127,只能当正数使用。
---------------
舍弃了进位,正数(即补码)就能代替负数进行运算。
其算法,和正常数字的算法,是完全相同的。
如果你想求 A、B 之和,你就正常计算 A + B 就行了。
如果你想求 A、B 之差,也是一样计算 A + B,然后舍弃进位即可。
根本就不用扯什么:[ A ]补 + [ B ]补 = [ A + B ]补。
·
原码和反码,都没有这种功能。
所以,在计算机中,数值,一律采用补码表示、存储和计算。