正确的方法获得最负面的双重

Che*_*eng 28 java

这是获取Java中最负面双重的正确方法吗?

double v = -Double.MAX_VALUE;
Run Code Online (Sandbox Code Playgroud)

RHS*_*ger 23

假设你的意思是最大的负数,非无限数,听起来是正确的,因为对于64位IEEE 754浮点数的浮点数(这是Java用于双精度数):

  • 数字的大小存储在二进制代表的一部分中
  • 数字的符号存储在二进制代表的单独部分中

因此: 最大可表示的负数与最大可表示的正数相同,符号位翻转表示负数.


Sea*_*wen 17

不,这是Double.NEGATIVE_INFINITY.

  • 这是一个有效的双倍?是的,它是一个明确定义的IEEE 754双值.Double.NEGATIVE_INFINITY小于-Double.MAX_VALUE,并且根据定义<=所有双精度数(NaN除外,它没有排序).因此它是最负面的双重,这是OP的问题. (2认同)