O formato IEEE 754 tem um bit reservado para o sinal e os bits restantes representando a magnitude. Isso significa que é "simétrico" ao redor do origo (em oposição aos valores Inteiros, que têm mais um valor negativo). Portanto, o valor mínimo é simplesmente o mesmo que o valor máximo, com o bit de sinal alterado, portanto , sim , -Double.MAX_VALUE
é o menor número real possível que você pode representar com a double
.
Suponho que isso Double.MAX_VALUE
deva ser visto como magnitude máxima ; nesse caso, faz sentido simplesmente escrever -Double.MAX_VALUE
. Também explica por que Double.MIN_VALUE
é o valor menos positivo (já que isso representa a menor magnitude possível).
Mas claro, concordo que o nome é um pouco enganador. Ao me acostumar com o significado Integer.MIN_VALUE
, também fiquei um pouco surpreso ao ler que esse Double.MIN_VALUE
era o menor valor absoluto que poderia ser representado. Talvez eles achem supérfluo ter uma constante que represente o menor valor possível, pois é simplesmente uma -
distânciaMAX_VALUE
:-)
(Observe, também há, Double.NEGATIVE_INFINITY
mas estou desconsiderando isso, pois ele deve ser visto como um "caso especial" e, de fato, não representa nenhum número real.)
Aqui está um bom texto sobre o assunto.