美文网首页
Java中Float和Double的精度问题

Java中Float和Double的精度问题

作者: Ramsey16k | 来源:发表于2019-11-08 10:24 被阅读0次

上篇博客我查看了下byte、char、short的取值范围,于是我今天打开编译器又想起来看看Float和Double的取值范围

System.out.println(Float.MIN_VALUE + " " + Float.MAX_VALUE);
System.out.println(Double.MIN_VALUE + " " + Double.MAX_VALUE);

输出如下:


image.png

这很奇怪,为什么他们的最小值都是正数?

于是我上Stack OverFlow查了一下:
Float.MIN_VALUE问题地址
Double.MIN_VALUE问题地址

根据javadoc for Floatjavadoc for Double中的定义,Float.MIN_VALUE是保持float类型的最小正非零数,值为2^-149; Double.MIN_VALUE是保持double类型的最小正非零数,值为2^-1074.

貌似超链接访问失败,在此贴上问题地址和javadoc地址:
https://stackoverflow.com/questions/11419797/why-is-float-min-value-in-java-a-positive-value
https://stackoverflow.com/questions/5709073/is-double-min-value-is-greater-than-zero-in-java
https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html#MIN_VALUE
https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#MIN_VALUE

相关文章

网友评论

      本文标题:Java中Float和Double的精度问题

      本文链接:https://www.haomeiwen.com/subject/pqbgbctx.html