
梦幻之旅为您分享以下优质知识
二进制补码的计算规则如下:
一、原码
最高位为符号位,0表示正数,1表示负数。
计算方法
- 正数原码直接使用二进制表示(如+5的原码为0000 0101)。
- 负数原码为绝对值的二进制表示加上符号位1(如-5的原码为1011)。
二、反码
符号位不变
正数反码与原码相同。
数值位取反
负数反码为原码除符号位外各位取反(如-5的反码为1100)。
三、补码
计算公式
补码 = 反码 + 1。
示例
- +5的补码:原码0000 0101,反码0000 0101,补码0000 0101(正数补码与原码相同)。
- -5的补码:原码1011,反码1100,补码1100 + 1 = 1100 1001。
四、特殊值说明
+127:
补码为0111 1111,加1后溢出为-128的补码(1000 0000)。
-1:补码为1111 1111,加1后循环回0。
五、运算规则
补码的核心优势是简化加减法运算:
加法:
$[A]_{补} + [B]_{补} = [A+B]_{补} (text{mod } 2^{n+1})$
减法:$[A]_{补} - [B]_{补} = [A]_{补} + [B]_{补]^{-1} (text{mod } 2^{n+1})$
其中$[B]_{补}^{-1}$为$[B]_{补}$取反加1。
总结
补码通过“取反加1”规则实现符号位的统一处理,简化了计算机中的算术运算。理解时可通过数轴辅助直观感受,例如-1加1回到0,-128加1变为-127的补码等。