A. 原码和补码是什么意思
原码,没有任何意义。
补码具有:用正数代替负数,把减法变成加法运算的功能。
这样,计算机中,只需用一个加法器,便可进行加减运算了。
所以,在计算机中,只是使用补码。根本就不用原码和反码。
对于钟表,倒拨 4 小时,可用正拨 8 小时代替。
对于十进制数,减一,可以用 +99 代替。
比如:24-1 = 23
24 + 99 = (1) 23
忽略进位,只取低两位,结果就是相同的。
这里用来代替负数的正数,就叫做“补数”。
计算机用二进制,就叫做“补码”。
正数,直接运算即可,不用求补码。
负数的补码是:模+该负数。
八位二进制的模是:2 的 8 次方=256。
-1 的补码,就是:256-1 =255 = 1111 1111(二进制)。
-2 的补码,就是:256-2 =254 = 1111 1110(二进制)。
。。。。。。
-128 的补码,就是:256-128 =128 = 1000 0000(二进制)。
求补码,用公式就可得出,并不需要绕道原码反码符号位。
B. 无符号数没有什么原码,反码,补码的概念
如果101011是原码的话,从左到右第一位是符号位,指正负,0为正,1为负
(1)01011指数字
那么这个数字就是-01011(二进制)
变成反码就是符号位为1,其他位按位取反,为110100
补码就是反码+1,为110101
无符号数就是它本身
移码就是在补码的基础上符号位取反,为010101