Формат IEEE 754 имеет один бит, зарезервированный для знака, а остальные биты представляют величину. Это означает, что он «симметричен» относительно оригинала (в отличие от целочисленных значений, которые имеют еще одно отрицательное значение). Таким образом, минимальное значение просто совпадает с максимальным значением с измененным знаковым битом, так что да , -Double.MAX_VALUE
это наименьшее возможное действительное число, которое вы можете представить с помощью a double
.
Я полагаю, что Double.MAX_VALUE
следует рассматривать как максимальную величину , и в этом случае имеет смысл просто написать -Double.MAX_VALUE
. Это также объясняет, почему Double.MIN_VALUE
это наименьшее положительное значение (поскольку оно представляет наименьшую возможную величину).
Но, конечно, я согласен с тем, что названия немного вводят в заблуждение. Привыкнув к значению Integer.MIN_VALUE
, я тоже был немного удивлен, когда прочитал, что это Double.MIN_VALUE
было наименьшее абсолютное значение, которое можно представить. Возможно, они думали, что было бы излишне иметь константу, представляющую наименьшее возможное значение, поскольку это просто -
далеко от MAX_VALUE
:-)
(Обратите внимание, что также есть, Double.NEGATIVE_INFINITY
но я не обращаю на это внимания, поскольку это следует рассматривать как «особый случай» и фактически не представляет никакого фактического числа.)
Вот хороший текст на эту тему.