是因为他是用4位来表示2的二进制数,所以有四位,2的二进制为1010,他的反码是1101,补码是110,只不过你用的是三位,这跟要求用几位表示一个数有关,但你已经掌握了原码,补码,反码的相互转换关系!!
-31的补码就是将31的2进制码按位取反然后加1
31的八位表示是
0001
1111
取反为
1110
0000
加1后得
1110
0001
正数的补码还是正数本身因此2得补码为0010(四位)
正数的原码
反码
补码
相同,
负数
的补码为反码加1
说到补码必须有
位数
限制以八位(最高位为
符号
位正数为0负数为1)为例,正2为00000010那么它的原码反码补码是一样的都是00000010
负2的原码是10000010,反码是11111101,补码是11111110
计算机中为什么要用补码?
因为计算机只会累加,别的都不会,一切运算都要变成加法才能完成.那么怎样把减法变成加法呢?就是用补码相加的方法
例如2减2(八位为例)
正2补码为00000010,负2的补码为11111110,把这两个数相加得到00000000称为正0
所以在计箅机里有个特别的
概念
正0和负0
正0的补码是00000000,而负0的原码是10000000反码是11111111补码是00000000.这样0减0(八位
二进制
)补码相加得00000000
一说话就多了,不说了