分数表示
在计算机内部,经常需要表示分数。例如,可能需要在计算机内部表示一个+0.610或-0.610的值。为了表示有符号的分数,有必要在位序列中紧接MSB之后假设二进制点。假定二进制点在位序列中位于固定位置的数字称为固定点数字。
无符号分数将在最左端具有假定的二进制点。SM,1的补码和2的补码小数将在MS位的右侧具有这个虚构的二进制点。
如果虚点在最右端,则数字为整数。如果虚数二进制点在无符号数的最左端,则该数字是无符号小数。如果二进制点位于MS位的最右边,则该数字为带符号的分数。如果二进制点在位序列的中间,则该数字具有整数和小数部分。
让我们讨论2的补数分数。例如,如果解释为2的补数部分,则值为1001,如下所示-假设MS位后为二进制点,则为1.001。由于MS位为1,因此为负数。这样,其余位将不会直接指定幅度。1001的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)。可以表示的字长和最小幅度分数的表,如下所示。
最小字长必须为8位,才能在一定程度上准确地表示数字-0.0123。如果进一步增加单词大小,则准确性将大大提高。