我正在学习浮点格式(IEEE)。在单精度浮点格式中,提到尾数有 24 位,因此它有 6 1/2 位精度(根据“理解机器”一书),以及7.22 位精度。
我不明白如何计算精度的十进制数字。有人可以启发我吗?
我正在学习浮点格式(IEEE)。在单精度浮点格式中,提到尾数有 24 位,因此它有 6 1/2 位精度(根据“理解机器”一书),以及7.22 位精度。
我不明白如何计算精度的十进制数字。有人可以启发我吗?
使用 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