Формат IEEE 754 має один біт, зарезервований для знаку, а решта бітів, що представляють величину. Це означає, що він "симетричний" навколо оріго (на відміну від значень Цілого числа, які мають ще одне негативне значення). Таким чином, мінімальне значення просто те саме, що і максимальне значення зі зміненим бітом знаку, тому так , -Double.MAX_VALUE
це найменше можливе фактичне число, яке ви можете представити за допомогою double
.
Я вважаю, що це Double.MAX_VALUE
слід розглядати як максимальну величину , і в цьому випадку насправді має сенс просто писати -Double.MAX_VALUE
. Це також пояснює, чому Double.MIN_VALUE
це найменше позитивне значення (оскільки це представляє найменшу можливу величину).
Але, звичайно, я погоджуюся, що називання трохи вводить в оману. Звикнути до значення Integer.MIN_VALUE
, я теж трохи здивувався, коли прочитав, що Double.MIN_VALUE
це найменше абсолютне значення, яке можна було б представити. Можливо, вони думали, що зайвим є константа, яка представляє найменше можливе значення, оскільки це просто -
вдалині від MAX_VALUE
:-)
(Зауважте, є також, Double.NEGATIVE_INFINITY
але я не зважаю на це, оскільки це слід розглядати як "особливий випадок" і насправді не представляє фактичної кількості.)
Ось хороший текст на цю тему.