1.定点数表示法(fixed-point)
所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。一般常称前者为定点小数,后者为定点整数。
定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。若数据x的形式为x=x.xx…x(其中x为符号位,x~x是数值的有效部分,也称为尾数,x为最高有效位),则在计算机中的表示形式为:
一般说来,如果最末位x=1,前面各位都为0,则数的绝对值最小,即|x|=2^(-n)。如果各位均为1,则数的绝对值最大,即|x|=1-2^(-n)。所以定点小数的表示范围是:
2^(-n)≤|x|≤1-2^(-n)
由于“编码总位数为8”的限制,真值-128无法用原码、反码来表示,似乎不能用上述规则来求解补码,但实际上是可行的——只要不管它的最高位即可,操作办法如下:
将128化为二进制为:10000000,最高位为1,可以只对舍去最高位后剩余的7位进行处理即可,首先取反得:1111111,加1得:10000000,最高位有进位需丢弃,即得:0000000,加上符号位就得补码:10000000。
又如,当编码总位数为4时,真值X=+0.101的原码、反码、补码均为:0101。
真值X=-0.101的原码、反码、补码依次为:1101、1010、1011。
同理,特例,-1的补码为:1000。
在定点小数中,小数点隐含在第一位编码和第二位编码之间
定点小数,是指小数点准确固定在数据某个位置上的小数,从实用角度看,都把小数点固定在最高数据位的左边,小数点前边再设一位符号位。按此规则,任何一个小数都可以被写成:
N=NS.NN…N
如果在计算机中用m+1个二进制位表示上述小数,则可以用最高(最左)一个二进制位表示符号(如用0表示正号,则1就表示负号),而用后面的m个二进制位表示该小数的数值。小数点不用明确表示出来,因为它总是固定在符号位与最高数值位之间,已成定论。定点小数的取值范围很小,对用m+1个二进制位的小数来说,其值的范围为:
|N|≤1-2^(-m)即小于1的纯小数,这对用户算题是十分不方便的,因为在算题前,必须把要用的数,通过合适的比例因子化成绝对值小于1的小数,并保证运算的中间和最终结果的绝对值也都小于1,在输出真正结果时,还要把计算的结果按相应比例加以扩大。
定点小数表示法,主要用在早期的计算机中,它最节省硬件。随着计算机硬件成本的大幅度降低,现代的通用计算机都被设计成能处理与计算多种类型数值的计算机。我们将主要通过定点小数讨论数值数据的不同编码方案,而且,定点小数也被用来表示浮点数的尾数部分。
本文发布于:2022-10-15 19:28:17,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/83/288730.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |