补码是计算机内方便加法运算的编码。注意,为了方便运算计算机采用补码存储数据。
例如100(10进制)
100/16=6余4
6/16=0余6
所以100的16进制数是64H
以8位二进制来说64H=01100100B
正数的补码和原码相同。所以100的补码还是01100100
另假设还有个数是-109
109的16进制是01101101
-109的原码就是11101101(首位是符号位)
-109的反码就是10010010(除了符号位其他各位分别取反)
-109的补码就是10010011(反码加1)
现在运算100-109=100+(-109)
01100100+10010011=11110111
这个结果就是-9的补码。如果换成其他编码运算就不会这么简单了。例如原码相加的话存在符号位进位的问题等等。对于计算机而言。数值的计算补码是最方便的。
计算机内为什么用补码来表示负数.cpu内没有减法器?
最新推荐文章于 2022-05-01 11:57:47 发布