在8位机中规定每个字节的最高位为符号位。那么+8就是,而-8则是
但是,随便找一本《计算机原理》都会告诉你,实际上计算机内部采用2的补码(Two's Complement)表示负数。
正数0的原码反码补码反码,补码都相同负数0的原码反码补码,反码补码都不同。
[x]补码+[y]补码=[x+y]补码如果结果是囸数,正数补码等于原码如果是负数再转化成原码([x]原码=[[x]补]补)
第一步符号位不变,其余每一个二进制位都取相反值0变成1,1变成0比如,(-8)的相反值就是
第二步,将上一步得到的值加1就变成。
也就是说-8在计算机(8位机)中就是用表示。
+11111000(-8)补码
100001000(8)补码=(8)原码
可以看到按照正常的加法规则,得到的结果是注意,这是一个9位的二进制数我们已经假定这是一台8位机,因此最高的第9位是一个溢出位会被自动舍去。
+11110000(-16)补码
11111000(-8)补码-->((-8)补)补=()-8(符号位不变其余为取反+1)
先给出100个还要吗?给你一个程序要1万个、10万个都没有问题。