为什么负数的补码等于原码加1呢?

如题所述

补码是这样计算的:
首位为符号位。
符号位为0表示正数,正数的补码=原码=反码。
符号位为1表示负数,负数的补码等于将符号位后面的位全部取反再加1。另外,一个数的补码的补码等于这个数的原码,所以如果已知一个数的补码,那么对这个补码求一次补码即可得到这个数的原码。

前面已经说了,负数的补码等于符号位后面的位全部取反再加1,所以11010101取反(符号位不变)为10101010,再加1,得到10101011,此即为原真值的原码,由此很容易得到真值为:

-(32+8+2+1)= -43
温馨提示:答案为网友推荐,仅供参考
相似回答