Java输出double类型中的最小正数和最大正数
这是《写给大忙人看的java核心技术》中的一道练习题。
1. 输出最大正数值
System.out.println(Double.MAX_VALUE);
直接输出包装类Double的MAX_VALUE。
2. 输出最小正数值
System.out.println(Double.MIN_VALUE);
使用Math.nextUp()方法也能输出最小的正数
java.lang.Math.nextUp(double d) 返回浮点值在正无穷方向上相邻的至d。这种方法在语义上等同到nextAfter(d, Double.POSITIVE_INFINITY);然而,
nextUp的实现可能会比其等效nextAfter调用运行速度更快。特殊情况:
-
如果参数为NaN,那么结果为NaN。
-
如果参数是正无穷大,其结果是正无穷大。
-
如果参数是零,结果是Double.MIN_VALUE
System.out.println(Math.nextUp(0.0));
3. 关于Integer.MIN_VALUE和Double.MIN_VALUE
Integer.MIN_VALUE自不必说,就是32位整型能存储的最小数字:0x80000000,是一个负数。
但是Double.MIN_VALUE却是一个正数,Double.MIN_VALUE表示的时64位双精度值能表示的最小正数。
如果需要用到Double的负无穷,可以用Double.NEGATIVE_INFINITY。