二进制正负数转换主要分为原码、反码和补码三种表示方法,具体规则如下:
一、基本转换规则
原码 - 正数:符号位为0,其余位与二进制数相同。例如,十进制5的原码为 `00000000 00000000 00000000 00000101`。
- 负数:符号位为1,其余位与对应正数原码相同。例如,十进制-5的原码为 `10000000 00000000 00000000 00000101`。
反码
- 正数:与原码相同。例如,5的反码仍为 `00000000 00000000 00000000 00000101`。
- 负数:符号位保持1,其余位取反。例如,-5的反码为 `11111111 11111111 11111111 11111010`。
补码
- 正数:与原码相同。例如,5的补码为 `00000000 00000000 00000000 00000101`。
- 负数:反码加1。例如,-5的补码为 `11111111 11111111 11111111 11111011`。
二、转换步骤总结
正数转负数
- 原码 → 反码 → 补码(符号位1+其余位取反+加1)。
负数转正数
- 补码 → 反码 → 原码(符号位1→0,其余位取反)。
三、应用场景
计算机内部:
所有整数均以补码形式存储,便于统一加减运算。
手动计算:可通过原码、反码、补码三种形式直观理解二进制数的正负转换。
四、注意事项
位数需统一(如8位、32位),不足时高位补0。
小数部分转换采用二进制乘2取整法。