计算机中,为什么负整数用补码表示而不直接用原码,例如-5在计算机中是11111011而不是10000101

有什么特别的用处吗

(1)采用补码表示法,加法减法的运算逻辑对正负数都一样了,CPU内部的电路结构简单了很多。如采用原码表示法,则必须先求出绝对值,根据符号的不同分别采用相加或相减。运算器电路结构大大复杂化。
(2)采用补码表示法,连续的加减法中间结果即使发生了溢出,只要最后结果不溢出,结果就一定正确。即使最后一步仍然溢出,常常也可以通过变换类型使其结果正确。
不采用补码表示法,只要中间有一步溢出,就不能保证结果正确。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-08
CPU中,一个最小的运算单元(三极管)就是一个与非门,所有的运算加、减、乘除都要转换成与非运算。每次与非运算都要是耗时间的。
采用补码,进行与非运算的次数会最小,提高运算效率。使用原码会提高使用寄存器的次数,效率差。
第2个回答  2011-10-08
这样方便直接计算呀,你试一下,-5+5=0,-5+6=1也是同样,如果不是用补码那计算起来就复杂多了
相似回答