所谓的补码,其实,就是一个“代替负数运算”的正数。
用十进制比较容易理解。
如果限定【仅用 2 位 10 进制数】,就可以有:
24 - 1 = 23
24 + 99 = (一百) 23
保留 2 位数,舍弃进位,+99 就和-1 就是等效的。
+99,就称为-1 的补数。
+98,是-2 的补数。
。。。
求补数的公式:
补数 = 负数 + 10^n, n 是位数。
计算机使用 2 进制,补数,就改称为:补码。
求补码的公式:
补码 = 负数 + 2^n, n 是位数。
--------------------------
计算机中,为什么要用补码表示负数呢?
因为,用上了补码,就可以消灭负数!
那么,在计算机中,也就不存在减法运算了。
因此,计算机的硬件,就可以化简了。
原码和反码,都不具备这种功能。
所以,计算机中,根本就不存在它们。