根据二进制补码的定义和运算规则,若已知补码为 `10000101`,其真值计算如下:
符号位判断
补码的最高位为符号位,`1` 表示负数,`0` 表示正数。因此,`10000101` 表示负数。
求原码
负数的原码可以通过对补码再求补码获得:
- 补码 `10000101` 的反码为 `11111010`(符号位保持不变,其余位取反)
- 反码 `11111010` 的补码为 `11111011`(反码加1)
- 因此,原码为 `11111011`。
计算真值
原码 `11111011` 表示的十进制数为:
$$
- (1 times 2^6 + 1 times 2^5 + 1 times 2^4 + 1 times 2^3 + 0 times 2^2 + 1 times 2^1 + 1 times 2^0) = -1111011_{(10)}
$$
综上,补码 `10000101` 对应的真值为 -1111011(二进制)或 -85(十进制)。