我正在学习浮点数格式(IEEE)。 在单精度浮点数格式中,书中提到尾数有24位,因此具有6.5个十进制数字的精度,并且7.22个十进制数字的精度。 我不明白如何计算小数位的精度。 有人能为我解释一下吗?
使用24位,假设有1位为符号位,则可以表示的最大十进制数为2^23-1=8388607。也就是说,您可以得到6个数字和有时的第7个数字。这通常被表示为“6 1/2 位数”。如果24位代表无符号数字,则可以存储的最大值为2^24-1=16,777,215,或者7个多一点的数字。
当有人引用带有显式小数位的数字,比如7.22个小数位时,他们所做的是取最大值的对数(以10为底)。因此,log(16777115)= 7.22。
一般来说,从给定位数得到的十进制数字的数量为:
d=log[base 10](2^b)
其中b是位数,d是十进制数字的数量,则:
d=b * log(2)
d~=b * .3010
因此,24位为24 * .3010 = 7.224。