在计算机中,真值是指一个数值的真实值,它可以是正数或负数。计算机内部使用二进制来表示数值,并且有三种主要的编码方式:原码、反码和补码。下面是这些编码方式以及如何从这些编码求出真值的详细说明:
原码
正数:原码就是符号位加上真值的绝对值,符号位为0,其余位表示值。
负数:原码是符号位加上真值的绝对值,符号位为1,其余位表示值,数值部分取反后加1。
例如:
+10000101 的原码是 010000101
-10101100 的原码是 110101100
补码
正数:补码与原码相同。
负数:补码是真数去掉负号,从右到左找到第一个1左边取反,在前面加1。
例如:
+10000101 的补码是 010000101
-10101100 的补码是 101000111
反码
正数:反码与原码相同。
负数:反码是原码除符号位外取反。
例如:
+10000101 的反码是 010000101
-10101100 的反码是 10011011
求真值的步骤:
确定数值的符号位
如果最高位是0,表示该数为正数。
如果最高位是1,表示该数为负数。
根据符号位求真值
正数:真值等于原码或补码表示的数值。
负数:真值等于原码或补码表示的数值减去2的n次方(n为数值的位数减1)。
例如:
对于二进制数 10000011(原码表示的-3):
符号位为1,表示负数。
真值 = - (01000011) = -3
对于二进制数 10000110(补码表示的-2):
符号位为1,表示负数。
真值 = - (10000110) = -2
总结:
正数:真值等于原码或补码表示的数值。
负数:真值等于原码或补码表示的数值减去2的n次方(n为数值的位数减1)。
通过以上步骤,我们可以从计算机中存储的二进制数值求出其真值。