首页 新闻 会员 周边

大佬请解惑!

-1
[待解决问题]

for (float f = 100000000; f < 100000001; f++) {
System.out.println(f);
}

for (float f = 100000000; f < 100000010; f++) {
System.out.println(f);
}

这两段代码输出什么?请解释一下?

小筝的主页 小筝 | 菜鸟二级 | 园豆:204
提问于:2020-04-11 15:42

建议写清楚你要问什么,现在这样看起来跟课后作业一样,一看就不想答

拓拓 4年前
< >
分享
所有回答(2)
1

没学过System.out.println();
估计一个是10001
另一个是10001 10002 10003等等直到10010
注意我省略了好多0

Conan-jine | 园豆:1272 (小虾三级) | 2020-04-13 11:13
0

应该是死循环了,float有效数位是24位,除去符号位,实际储存23位。表示不了这么大的数的精度。
原因的话,具体可以看下IEEE 754标准。

。淑女范erり | 园豆:961 (小虾三级) | 2020-04-13 11:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册