为何要用补码?
原因在于,使用补码,可以将举枝老加法和减法统一处理。
补码,就是补码,与原码反码毫无关系。
从原码反码开始学习,就不能理解“为何要用补码?”。
-------------------------
补码,其实就是一个“代替负数运算的正数”。
比如十进制运算:
24 - 1 = 23
24 + 99 = (一百) 23
舍弃进位,+99 就可以代替-1。
这时,减法,也就转换成加法了。
那么,+99 就被称为-1 的补数。
舍弃的进位,是 2 位 10 进制的计数周期:10^2 = 100。
求补数的公式,大家都可以推出来: 负数 + 周期。
-------------------------
其实,在三角函数中,大家都知道:
-π/2 和 +3π/2,这两个角度,功能也是相同的。
负角度,和正角度,要怎么变换呢?
也是用这样的公式: 正角度 = 负角度 + 周期(2π)。
-------------------------
计算机用二进制,补数,就改称为:补码。
8 位 2 进制的计数范围是:0000 0000 ~ 1111 1111。
换算成十进制,就是:0 ~ 255。
其计数周期是:2^8 = 256。
那么,-1 的补码就是 255 ( 即 1111 1111 )。
-2 的补码,是:-2 + 256 = 254 = 1111 1110。
。。。
-128 的补码是:128 = 1000 0000。
以上就是八位二进制所能代表的 128 个负数。
求补码的公式,也仍然是:负数 + 周期。
正数,不需要搭液变换,直接就可以进行运算。
所以,正数,根本就没有补码。
-------------------------
求补码,正升不必联系到“原码反码符号位取反加一”。
那些乱七八糟的事,都是不需要的。
老外数学不好,万般无奈,才弄这些“隔路”的花样。