Java 将0与双最小值进行比较
为什么下面的返回为假Java 将0与双最小值进行比较,java,Java,为什么下面的返回为假 int i = 0; if ((double) i > Double.MIN_VALUE) System.out.print("true"); else System.out.print("false"); 因为Double.MIN\u值为正和非零。根据: 最小值: 包含double类型的最小正非零值的常数, 2-1074. 它等于十六进制浮点文字 0x0.0000000000001P-1022,也等于 Double.longBitsToDouble
int i = 0;
if ((double) i > Double.MIN_VALUE)
System.out.print("true");
else
System.out.print("false");
因为
Double.MIN\u值
为正和非零。根据:
最小值:
包含double类型的最小正非零值的常数,
2-1074. 它等于十六进制浮点文字
0x0.0000000000001P-1022,也等于
Double.longBitsToDouble(0x1L)
因为
Double.MIN\u值
为正和非零。根据:
最小值:
包含double类型的最小正非零值的常数,
2-1074. 它等于十六进制浮点文字
0x0.0000000000001P-1022,也等于
Double.longBitsToDouble(0x1L)
好的,让我们看看我们从Double.MIN_值得到了什么。当我们说,
System.out.println(Double.MIN_VALUE);
它打印出最小双精度值为4.9E-324,即正和非零
在代码中将其与0进行比较。即使4.9E-324有多小,它仍然大于0
如果你想找到你能得到的最小的负二倍,那么你在寻找
System.out.println(-Double.MIN_VALUE);
这将返回
-4.9E-324
,这是使用Double
可以得到的最小负数。好的,让我们看看从Double.MIN\u值中得到了什么。当我们说,
System.out.println(Double.MIN_VALUE);
它打印出最小双精度值为4.9E-324,即正和非零
在代码中将其与0进行比较。即使4.9E-324有多小,它仍然大于0
如果你想找到你能得到的最小的负二倍,那么你在寻找
System.out.println(-Double.MIN_VALUE);
这将返回-4.9E-324
,这是使用Double
可以得到的最小负数