Convertisseur à virgule flottante IEEE 754
Convertissez un nombre décimal en ses bits de flottant 32 ou 64 bits, ou collez des bits en hexa pour lire le nombre qu’ils contiennent.
Un flottant 32 bits ne peut pas contenir 0.1 exactement : il stocke 0.10000000149, soit une erreur relative de 1.5e-8.
Ce que ça représente
Où se situe-t-il dans la plage des flottants ?
Arrondi au plus proche, comme le font par défaut tous les processeurs. La forme binaire montre le signe, l’exposant et la mantisse séparés par des espaces.
Toutes les unités
Ce nombre dans tous les formats
Comprendre
Trois choses à savoir
-
Sept et seize chiffres
Fiez-vous à environ 7 chiffres significatifs pour un float32 et 15–16 pour un float64. Les entiers sont exacts jusqu’à 16 777 216 (2²⁴) et 9 007 199 254 740 992 (2⁵³).
-
La norme de William Kahan
Avant 1985, chaque ordinateur arrondissait à sa façon. La norme IEEE 754, menée par William Kahan, a fixé les formats, l’arrondi et des valeurs spéciales comme l’infini et NaN.
-
Comparer avec ==
0.1 + 0.2 == 0.3 est faux avec des doubles. Comparez plutôt les flottants avec une petite tolérance.
Raccourcis
Conversions courantes : nombre
Le contexte
À propos de la virgule flottante
Un flottant stocke un nombre sous la forme signe × 1,mantisse × 2exposant. Un flottant 32 bits a 1 bit de signe, 8 bits d’exposant et 23 bits de mantisse, soit environ 7 chiffres significatifs ; un double 64 bits en a 11 et 52, environ 16 chiffres.
La plupart des fractions décimales n’ont pas de forme binaire exacte, elles sont donc arrondies : 0,1 vaut en réalité 0,100000001490116… en simple précision et 0,1000000000000000055… en double. Voilà pourquoi 0,1 + 0,2 ne fait pas exactement 0,3 dans la plupart des langages de programmation.