较小的有限值双Java
我正在学习Java的新知识,我遇到了一个问题:较小的有限值双Java,java,double,Java,Double,我正在学习Java的新知识,我遇到了一个问题:double类型的最小有限值是多少?答案是双精度。负无穷大?双精度的有限范围是4.9E-324到1.7e+038。Double.NEGATIVE_无穷大只是一个常数,由 公共静态最终双负无穷大 保持双精度型负无穷大的常数。这是平等的 到Double.longBitsToDouble(0xfff0000000000000L)返回的值 Double。负无限不是一个有限值,因此它不能是Double类型的最小有限值 Double.MIN_值也不是类型Doub
double
类型的最小有限值是多少?答案是双精度。负无穷大?双精度的有限范围是4.9E-324到1.7e+038。Double.NEGATIVE_无穷大只是一个常数,由
公共静态最终双负无穷大
保持双精度型负无穷大的常数。这是平等的
到Double.longBitsToDouble(0xfff0000000000000L)返回的值
Double。负无限
不是一个有限值,因此它不能是Double类型的最小有限值
Double.MIN_值
也不是类型Double的最小有限值,因为这是
double类型的最小正值非零值
double类型的最小有限值为-double.MAX_value
,其值为-1.79769313348623257E308
,或-(2-2-52)*21023或double.longBitsToDouble(0xfffffffffffl)
这可以根据以下公式计算:
任何浮点值集的有限非零值都可以用s的形式表示⋅ M⋅ 2(e-N+1),其中s为+1或-1,m为小于2N的正整数,e为介于Emin=-(2K-1-2)和Emax=2K-1-1(含)之间的整数
对于double
,Emax==1023
和N==53
当你在s中赋值时⋅ M⋅ 2(e-N+1)值s=-1,m=2N-1和e=Emax,得到最小有限值:-1*(253-1)*2(1023-53+1)=-(2-2-52)*21023。类型double的最小正有限非零值为4.9e-324。
最小的负有限值为-1.7976931348623157E308。
您可以参考。有一个输入错误:
类型double的最小有限值是-double.MIN\u value
,应该是-double.MAX\u value
,然后给出的数字为-1.7976931348623157E308是正确的。@Ralf谢谢。真不敢相信我打错了这个字。现在修好了。