数控系统中的二进制补码计算与通用计算机中的规则一致,主要分为原码、反码和补码三个步骤。以下是具体计算方法及示例:
一、基本规则
符号位区分 最高位为符号位,0表示正数,1表示负数。其余位表示数值。
正数处理
正数的原码、反码、补码相同,符号位为0,数值位与真值一致。例如,+100011(8位)的原码、反码、补码均为00010011。
负数处理
- 原码: 符号位为1,其余位为绝对值的二进制表示。例如,-11111(8位)的原码为10011111。 - 反码
二、快速计算负数补码
对于8位系统,负数补码可通过以下公式快速计算:
$$
text{补码} = 256 - |x|
$$
例如,-127的补码为:
$$
256 - 127 = 129 quad text{(二进制为0x81)}
$$
-128的补码为:
$$
256 - 128 = 128 quad text{(二进制为0x80)}
$$
三、应用示例
计算-5的补码:
1. 原码:10000101
2. 反码:11111010
3. 补码:11111011
计算16-13:
1. 16的补码为00010000,13的补码为00001101
2. 相加得00011101(即29)
四、注意事项
补码运算中,符号位参与运算,直接按二进制加法规则处理。- 负数运算时,需注意借位和进位规则与正数不同。