我正在学习浮点格式(IEEE)。 在单精度浮点格式中,提到尾数有24位,因此它具有6 1/2的精度十进制数字(如“理解机器”一书)和7.22 decimal digits of precision。 / p>
我不明白如何计算精度的十进制数字。 有人可以赐教我吗?
答案 0 :(得分:6)
对于24位,假设为符号保留一位,则可以表示的最大十进制数是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