计算机中的负数为什么用补码存储


计算机中的负数是为了方便运算,所以计算机才会采用补码存储数据 。补码是计算机方便加法运算的编码 。例如100(10进制)100/16=6余46/16=0余6 。所以100的16进制数是64H以8位二进制来说64H=01100100B正数的补码和原码相同 。
所以100的补码还是01100100 。
【计算机中的负数为什么用补码存储】另假设还有个数是-109109的16进制,是01101101-109的原码,就是11101101(首位是符号位)-109的反码,就是10010010(除了符号位其他各位分别取反) 。109的补码就是10010011(反码加1) 。现在运算100-109=100+(-109) 。01100100+10010011=11110111这个结果就是-9的补码 。如果换成其他编码运算就不会这么简单了 。
例1653如原码相加的话存在符号位进位的问题等等 。对于计算机而言 。数值的计算补码是最方便的 。

    推荐阅读