Java float类型中尾数部分的最大数字是多少?

9

在Java中,可以存储的尾数部分的最大数字是多少?

在下面的链接中 http://steve.hollasch.net/cgindex/coding/ieeefloat.html

                         Sign       Exponent    Fraction    Bias
Single Precision       1 [31]       8 [30-23]   23 [22-00]  127

这是否意味着我们只能存储0到2^8个组合?

7
请勿喊叫(编辑:我已更新标题,以停止大声喊叫。) - T.J. Crowder
我不建议您使用float。double几乎和float一样快,而且没有任何接近相同的限制/舍入误差。 - Peter Lawrey
3个回答

4

2

float中,尾数有23位,但存储的值是规格化的,这意味着有一个隐含的首位1和一个小数点。这将使其有效位数增加到24位。


...除了非规范化数。 - finnw
你能解释一下什么是规范化吗?如果你说24位,那么我们可以在尾数部分表示2 ^ 24个数字吗? - user733434
@user733434: "...这意味着有一个隐含的前导1,后面跟着一个小数点。" 正如@finnw所说,存在一些未标准化的数字,如果指数部分全为0但分数部分不为0。http://steve.hollasch.net/cgindex/coding/ieeefloat.html - Bill the Lizard


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接