负数在计算机中的二进制表示通常采用 补码形式。以-5为例,其补码表示方法如下:
一、8位二进制表示
正数5的二进制 5的二进制表示为 `0000 0000 0000 0101`(32位,前24位补零)。
反码
反码是原码按位取反的结果,即 `1111 1111 1111 1010`。
补码
补码是反码加1的结果:
```
1111 1111 1111 1010 (反码)
+1
1111 1111 1111 1011 (补码)
```
因此,-5的8位补码表示为 `1111 1111 1111 1011`。
二、16位二进制表示
若使用16位表示,-5的补码为:
1. 正数5的二进制(16位):`0000 0000 0000 0000 0000 0101`
2. 反码:`1111 1111 1111 1111 1111 1010`
3. 补码:`1111 1111 1111 1111 1111 1011`
补码表示的通用方法
原码: 直接按绝对值转换(如5为 `0000 0000 0000 0101`)。 原码按位取反(如-5为 `1111 1111 1111 1010`)。 反码加1(如-5为 `1111 1111 1111 1011`)。 补充说明反码:
补码:
符号位:最高位为符号位,0表示正数,1表示负数。
扩展位数:不同系统位数不同(如8位、16位等),负数需补零至目标位数。
应用场景:补码简化了加减法运算,避免使用符号位判断。
通过上述方法,负数在计算机中以补码形式统一表示,便于硬件实现和运算效率提升。