原码:就是原码,真实的码
反码:在原码的基础上,符号位不变,数值位按位取反
补码:1)正数的补码:与原码相同。
【例1】+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反然后整个数加1。
在计算机系统中,数值,一律用补码表示和存放。
补码是什么?
补码,就是一个代替负数运算的正数。
比如 2 位 10 进制:
24 - 1 = 23
24 + 99 = (一百) 23
结果只取两位,就不用理会进位。
此时,+99 就能当做-1 使用。
同理,+98 就能当做-2。
。。。
这些正数,就是负数的补数。
求补数的公式:补数 = 负数 + 10^2。
利用补数,就是把负数变成正数,减法,就能用加法来实现。
------------------
计算机用二进制,补数,就改称:补码。
8 位 2 进制,范围是:0000 0000~1111 1111。
用十进制来说明,它们就是:0 ~ 255。
求补码的公式,就改为: 补码 = 负数 + 2^8。
-1 的补码:-1 + 2^8 = 255 (即:1111 1111)。
-2 的补码:-2 + 256 = 254 (即:1111 1110)。
。。。
-128 的补码:-128 + 256 = 128 (即:1000 0000)。
-----------------
借助于补码,可用加法来实现减法,就可以简化计算机的硬件。
原码、反码,都没有这种功能。
因此,计算机中,并没有原码和反码。
原码、反码,都是什么?
原码和反码,什么都不是。