Laissez :
double d = 0.1;
float f = 0.1;
l'expression
(f > d)
retourner true
ou false
?
Empiriquement, la réponse est true
. Cependant, je m'attendais à ce que ce soit false
.
Comme 0.1
ne peut pas être parfaitement représenté en binaire, alors que le double a 15
a 16
chiffres décimaux de précision, et le flottant a seulement 7
. Donc, ils sont tous deux inférieurs à 0.1
tandis que le double est plus proche de 0.1
.
J'ai besoin d'une explication exacte pour le true
.