2的补数分数

例如,如果解释为它是2的补数部分,则值1 001将如下所示-假定MS位后为二进制点,则值为1.001。由于MS位为1,因此为负数。这样,其余位将不会直接指定幅度。1 001的2的补码为0110 + 1 =0111。这是一个正分数,值为1×2 -1 +1×2 -2 +1×2 -3 = 0.5 + 0.25 + 0.125 = 0.875(十进制)。因此,-0.875是1001的值。

如果字大小为n位,则可以表示的最小大小非零分数为2 (n-1)。可以表示字大小和最小大小的分数的表如下所示。

字数
最小2的补数分数
       4
±0.125
       8
±0.0078125
       16
±0.0000305
       32
±0.5×10 -9

最小字长必须为8位,才能在一定程度上准确地表示数字-0.0123。如果进一步增加单词大小,则准确性将大大提高。

为了对分数的表示进行一般性的讨论,我们可以提到在计算机内部,表示分数可能是非常必要的。例如,可能需要在计算机内部表示一个+0.610或-0.610的值。为了表示有符号的分数,有必要在位序列中紧接MSB之后假设二进制点。假定二进制点在位序列中位于固定位置的数字称为固定点数字。

无符号分数将在最左端具有假定的二进制点。SM,1的补码和2的补码小数将在MS位的右侧具有这个虚构的二进制点。

如果虚点在最右端,则数字为整数。如果虚数二进制点在无符号数的最左端,则该数字是无符号小数。如果二进制点位于MS位的最右边,则该数字为带符号的分数。如果二进制点在位序列的中间,则该数字具有整数和小数部分。