我试图找出使用浮点值的规范化表示的一些细节。
据我所知,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范围重叠。
最后,我知道有效数字中的一个位用于符号,但隐藏位代表什么,这是否会影响"插槽的数量"每个范围都有哪些?
答案 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 ....