在二进制中,负数的表示方法主要通过 符号位+补码来实现,具体规则如下:
二进制数的最高位(最左边的位)用于表示符号:
- `0` 表示正数或零
- `1` 表示负数
补码表示法
负数不直接存储原码,而是通过 补码形式表示,计算步骤如下:
- 原码: 符号位为1,其余位为数值的绝对值(如-5的原码为 `101`) - 反码
- 补码:反码加1(如-5的补码为 `011`)
补码法简化了计算机中的加减运算,且避免了原码和反码中“+0”和“-0”的歧义。
- 8位二进制:
- `00000001` 表示正数1
- `10000001` 表示负数-1(补码为 `11111111`)
- 32位二进制:
- `00000000000000000000000000000011` 表示正数3
- `11111111111111111111111111111101` 表示负数-5(补码计算为 `11111111111111111111111111110111`)
应用场景
补码法是计算机内部处理负数的标准方式,编程时通常只需关注符号位和数值位,无需手动计算补码。