首页 文章

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

提问于
浏览
2

我试图弄清楚使用浮点值的规范化表示的一些细节 .

据我所知,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 回答

  • 3

    我觉得你的 table 错了 . 它应该是:

    ....
    [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
    ....
    

相关问题