最近在进行计算机组成原理的学习,学习过程当中大大小小的问题不断,今天遇上的这个问题是我在网上寻找好久也不曾找到答案的问题,因此在此写下,方便后来者学习,下面进入正题:
例如:给出的机器是五位的机器,符号位一位,数据位四位,已知补码为1.0000,求其真值?
已知当0>x>=-1时,
补码的定义为[x]补=2+x
也就是说真值x=[x]补-2
,所以当补码等于1.0000时,x=1.0000-2=-1,因此,证明得到补码1.0000的真值为-1。
最后解释一下为什么这里不能用按位取反,末尾加一
的原则进行求解,因为这个原则的本质是将补码变成原码来进行真值的求解,然而,原码小数的定义域不包括-1,因此不能使用该原则进行推倒。
ps.在此,有一个极为引人误会的点就是符号位是0表示正,符号位为1表示负
,但-1的补码也就是1.0000是一个极为特殊的例子。
而通过上文的推倒加记忆,就可以帮助我们更清楚理清在此到底发生了什么。