二进制数的真值是指该数所表示的实际数值,即不考虑符号位的纯数值。例如,二进制数 `0101` 的真值是 `5`,二进制数 `1011` 的真值是 `-3`(假设采用二进制补码表示)。
补充说明:
符号位与真值的关系
- 二进制数采用补码表示时,最高位为符号位:
- `0` 表示正数,符号位后的所有位表示数值;
- `1` 表示负数,符号位后的所有位表示数值的补码。
真值与机器数的区别
- 机器数是计算机内部存储和运算的形式,可能包含符号位,其值可能不等于真值(例如负数需通过补码计算)。
- 真值是独立于表示形式的数值,是理想化的真实值。
补码与真值的转换
- 负数的补码可通过反码加1得到,真值与补码互为逆运算。
例如:
正数 `5` 的二进制表示为 `0101`,真值为 `5`;
负数 `-5` 的补码为 `1011`,真值为 `-5`(即 `0101` 反转加1)。
总结:二进制数的真值即其数值本身,而机器数需根据符号位和编码规则转换为真值。