求二进制真值的方法取决于数值的表示方式,主要分为有符号和无符号两种情况:
一、有符号二进制数
符号位判断
最高位(最左位)为符号位:
- `0` 表示正数,真值即原码、反码、补码相同;
- `1` 表示负数,需进一步计算。
负数计算
若符号位为 `1`,则真值为负数,计算方法为:
- 取反(除符号位外所有位取反);
- 反转后加 `1` 得到补码;
- 补码对应的十进制数前加负号。 例如:
- 补码 `1101 0000`:
- 反码为 `1010 1111`;
- 补码为 `1010 1111 + 1 = 1011 0000`;
- 真值为 `-16`(二进制 `10000 0000 00000 00000 00000 00010000`)。
正数与零
符号位为 `0` 时,真值即原码、反码、补码相同,直接转换为十进制即可。例如:
- 原码 `0101 0000`:
- 真值为 `16`(二进制 `00010000`)。
二、无符号二进制数
符号位固定为 `0`,真值即原码、反码、补码相同,直接转换为十进制。例如:
原码 `0101 0000`:
真值为 `208`(二进制 `11010000`)。
三、注意事项
补码运算规则
- 加法:`[X+Y]补 = [X]补 + [Y]补 MOD 2`
- 减法:`[X-Y]补 = [X]补 + [-Y]补 MOD 2`
适用于有符号数运算。
特殊情况处理
- `0` 的表示:
- 正零:`0000 0000`
- 负零:`1000 0000`(补码与原码相同)。
通过以上方法,可准确将二进制数转换为真值。若需验证结果,可使用计算器或编程工具辅助计算。