浮点表示中不同范围可表示的最大值数是多少?

时间:2014-07-31 10:51:42

标签: floating-point ieee-754 floating-point-precision floating-point-conversion

我试图找出使用浮点值的规范化表示的一些细节。

据我所知,IEEE-754表示法的作用如下:

1.{significand} * 2^{exponent}

对于单精度,有效数为24位,指数为8位。

我试图将其分解为基本上是"插槽的数量"在指数支持的每个数字范围内都可用,例如:

[Exponent=0] 0.0 - 1.0 : 2^23 values
[Exponent=1] 1.0 - 2.0 : 2^23 values
[Exponent=2] 2.0 - 4.0 : 2^23 values
[Exponent=3] 4.0 - 8.0 : 2^23 values

我试图证明在使用量化时,如果我感兴趣的范围限制在0.0 - 1.0,我可以使用2 ^ 24位来表示这个数字,并且不会丢失删除指数的精确度,这可以很容易地转换为完整的浮点表示。此外,为了清楚地说明使用浮点时接近零的精度更高,而不是更远,因为感觉这可能是非常直观的理解。

我不太清楚的一个领域是支持的指数是-127到126,负面部分是如何工作的? 1.5 * 2 ^ -1明显与0.0 - 1.0范围重叠。

最后,我知道有效数字中的一个位用于符号,但隐藏位代表什么,这是否会影响"插槽的数量"每个范围都有哪些?

1 个答案:

答案 0 :(得分:3)

我觉得你的桌子错了。它应该是:

....
[Exponent=-3] 0.125 - 0.25 : 223 values
[Exponent=-2] 0.25 - 0.5 : 223 values
[Exponent=-1] 0.5 - 1.0 : 223 values
[Exponent=0] 1.0 - 2.0 : 223 values
[Exponent=1] 2.0 - 4.0 : 223 values
[Exponent=2] 4.0 - 8.0 : 223 values
....

或更确切地说:

....
[Exponent=-3] 0.125 ≤ x < 0.25 : 223 values
[Exponent=-2] 0.25 ≤ x < 0.5 : 223 values
[Exponent=-1] 0.5 ≤ x < 1.0 : 223 values
[Exponent=0] 1.0 ≤ x < 2.0 : 223 values
[Exponent=1] 2.0 ≤ x < 4.0 : 223 values
[Exponent=2] 4.0 ≤ x < 8.0 : 223 values
....