二进制偏移码(移码)是一种用于表示有符号整数的编码方式,通过给数值加上固定偏移量来扩展负数表示范围。以下是关键要点:
偏移码通过将原码数值加上偏移量(通常为 (2^{n-1}))生成,符号位与数值位组合表示有符号数。例如,8位偏移码中,偏移量为128,-1的偏移码为 (10000001)(即 (127 + 1 = 128))。
与补码的关系
- 符号位相反: 偏移码的符号位与补码相反(补码符号位为0时,偏移码为1;补码符号位为1时,偏移码为0)。 - 数值部分相同
- 浮点数阶码:
用于避免下溢问题,当阶码接近下限时,通过偏移码保持数值稳定。 - 数据传输纠错:通过添加偏移量增强数据可靠性,防止传输错误。
- 原码转偏移码:
符号位取反,数值位保持不变。 - 补码转偏移码:符号位取反后加1。
总结:偏移码通过符号位反转和固定偏移量扩展了负数表示范围,适用于需要稳定性和纠错能力的场景,如浮点数运算和数据传输。