Le format IEEE 754 a un bit réservé pour le signe et les bits restants représentant la magnitude. Cela signifie qu'il est "symétrique" autour de l'origo (par opposition aux valeurs Integer, qui ont une valeur négative de plus). Ainsi, la valeur minimale est simplement la même que la valeur maximale, avec le bit de signe modifié, soit oui , -Double.MAX_VALUE
est le plus petit nombre réel possible que vous pouvez représenter avec un double
.
Je suppose que le Double.MAX_VALUE
doit être considéré comme magnitude maximale dans ce cas, il est logique d'écrire simplement -Double.MAX_VALUE
. Il explique également pourquoi Double.MIN_VALUE
est la valeur la moins positive (puisque cela représente la plus petite magnitude possible).
Mais bien sûr, je reconnais que le nom est un peu trompeur. Être habitué à la signification Integer.MIN_VALUE
J'ai aussi été un peu surpris quand j'ai lu que Double.MIN_VALUE
était le plus petit absolu valeur qui pourrait être représentée. Peut-être pensaient-ils qu'il était superflu d'avoir une constante représentant la plus petite valeur possible, puisqu'il s'agit simplement d'une -
loin de MAX_VALUE
:-)
(Remarque : il existe également Double.NEGATIVE_INFINITY
mais je n'en tiens pas compte, car il doit être considéré comme un "cas particulier" et ne représente en fait aucun nombre réel).
Ici est un bon texte sur le sujet.
2 votes
Merci pour les réponses ! La différence entre portée et précision est logique. Je trouve toujours la dénomination assez étrange et incohérente, mais c'est faisable.
1 votes
Je suppose que c'est parce qu'il est écrit par les mêmes génies qui ont appelé une méthode
writeBytes
qui prend unString
.1 votes
Fondamentalement, vous avez raison, c'est une mauvaise sémantique.