返回信息流Double.MIN_VALUE 和 Float.MIN_VALUE 的值都为正数。。为啥啊。。。以前只用Integer.MIN_VALUE的 惯性思维。。 然后debug了好久。。。
System.out.println(Integer.MAX_VALUE);//2147483647
System.out.println(Integer.MIN_VALUE);//-2147483648
System.out.println();
System.out.println(Double.MAX_VALUE);//1.7976931348623157E308
System.out.println(Double.MIN_VALUE);//4.9E-324
System.out.println();
System.out.println(Long.MAX_VALUE);//9223372036854775807
System.out.println(Long.MIN_VALUE);//-9223372036854775808
System.out.println();
System.out.println(Float.MAX_VALUE);//3.4028235E38
System.out.println(Float.MIN_VALUE);//1.4E-45
这是一条镜像帖。来源:北邮人论坛 / java / #51063同步于 2016/6/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[已解决]为什么Double.MIN_VALUE设计为正数?
silenceTYN
2016/6/17镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
http://stackoverflow.com/questions/3884793/why-is-double-min-value-in-not-negative
计算机存储数的方式决定了整型数是精确的,浮点数是不绝对精确的,所以对前者而言,知道了最大的正数和最小的负数,就完全知道了它的范围,而对于后者,除了能表示的范围(从最大的正数到最小的负数),精度也是非常重要的,如果只知道最大正数和最小负数,我们对其本身的性质是不能完全了解的。
以上是我自己的理解,若有错,轻拍[ema3]
另,API已经的对浮点数的说明中,最小值就是指向最小的非0正数的。
Thanks a lot!
【 在 jinsha 的大作中提到: 】
: 计算机存储数的方式决定了整型数是精确的,浮点数是不绝对精确的,所以对前者而言,知道了最大的正数和最小的负数,就完全知道了它的范围,而对于后者,除了能表示的范围(从最大的正数到最小的负数),精度也是非常重要的,如果只知道最大正数和最小负数,我们对其本身的性质是不能完全了解的。
: 以上是我自己的理解,若有错,轻拍
: 另,API已经的对浮点数的说明中,最小值就是指向最小的非0正数的。
Thanks a lot!
【 在 nuanyangyang 的大作中提到: 】
: http://stackoverflow.com/questions/3884793/why-is-double-min-value-in-not-negative
纳尼? 不应该是Double.MAX_VALUE吗?
【 在 nuanyangyang 的大作中提到: 】
: 另外,最大的和最小的Double难道不是正无穷大和负无穷大吗?
:
发自「贵邮」
不是呀。
IEEE754的浮点数的顺序是:
负无穷大 < 负有限数 < 负0 = 正0 < 正有限数 < 正无穷大
还有个NaN,和任何别的东西比较,结果都是"unordered",也就是既不大于、也不等于、也不小于。
【 在 silenceTYN 的大作中提到: 】
: 纳尼? 不应该是Double.MAX_VALUE吗?
:
: 发自「贵邮」