二进制补码是计算机中用于表示带符号整数的核心编码方式,其核心特点和运算规则如下:
一、基本定义与表示方法
符号位与数值位
补码由符号位和数值位组成,最高位为符号位(0表示正数,1表示负数),其余位表示数值。例如,8位二进制中,+5的原码为`0000 0101`,-5的补码为`1111 1011`。
负数表示规则
负数的补码通过对其绝对值的原码按位取反后加1得到。例如,-5的补码计算过程为:
- 原码:`0000 0101`
- 取反:`1111 1010`
- 加1:`1111 1011`。
二、核心运算规则
加法运算
补码加法遵循“相同符号相加,异号相减”的原则,无需单独处理符号位。例如:
-5 + 3:
-5的补码为`1111 1011`,3的补码为`0000 0111`,相加得`0000 0010`(即2)。
减法运算
减法通过加法实现,即`A - B = A + (-B)`。例如:
-5 - 3:
-5的补码为`1111 1011`,-3的补码为`1000 0101`(取反加1),相加得`1000 0000`(即-8)。
三、特殊性质
溢出检测
补码系统能自动检测溢出:
- 正数加正数溢出时符号位为1;
- 负数加负数溢出时符号位为0。
唯一性
一个数与其补码相加结果为0(如5 + (-5) = 0),且补码系统保证了加法和减法运算的一致性。
四、应用场景
补码广泛应用于计算机底层运算,包括算术逻辑单元(ALU)、内存存储及编程语言中的整数处理(如C/C++、Java等)。