我认为可以放入双浮点的最小正值是
0 0000000000 00000000000000000000000000000000000000000000000000000
科学形式就是这样:
1 x 2^{-1023}
但是,this article声明:
如上所述,零在直线上不能直接表示 格式,由于假设领先1(我们需要指定一个 真零零尾数,产生零值)。零是一个特殊值 用所有零比特的指数字段和分数字段表示 所有零位。
那么迷你正值的模式是什么?
答案 0 :(得分:4)
当指数部分全为零时,数字为 subnormals 或 denormals ,其中隐含数字为0而不是1.因此
0 00000000000 0000000000000000000000000000000000000000000000000000
为零,下一个数字为
0 00000000000 0000000000000000000000000000000000000000000000000001
是最小的正数,等于
0.0000000000000000000000000000000000000000000000000001 2 ×2 -1022 = 2 -1074 ≈5.0×10 -324
更新:那么为什么指数-1022,偏差是1023?次正规与正常浮点数的第一个binade具有相同的指数(因此1-1023 = 1022)。这使得扩散是连续的,即最大的次正规是
0.1111111111111111111111111111111111111111111111111111 <子> 2 子>×2 -1022
和下一个浮点数(最小法线):
1.0000000000000000000000000000000000000000000000000000 <子> 2 子>×2 -1022