Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
较小的有限值双Java_Java_Double - Fatal编程技术网

较小的有限值双Java

较小的有限值双Java,java,double,Java,Double,我正在学习Java的新知识,我遇到了一个问题:double类型的最小有限值是多少?答案是双精度。负无穷大?双精度的有限范围是4.9E-324到1.7e+038。Double.NEGATIVE_无穷大只是一个常数,由 公共静态最终双负无穷大 保持双精度型负无穷大的常数。这是平等的 到Double.longBitsToDouble(0xfff0000000000000L)返回的值 Double。负无限不是一个有限值,因此它不能是Double类型的最小有限值 Double.MIN_值也不是类型Doub

我正在学习Java的新知识,我遇到了一个问题:
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谢谢。真不敢相信我打错了这个字。现在修好了。