Glossaire Développement

Nombre à virgule flottante

Un nombre à virgule flottante stocke un nombre réel sous forme de signe, d'exposant et de fraction, comme la notation scientifique en binaire, ce qui le rend rapide mais seulement approximatif.

Dernière vérification :

AdSense Placeholder
Slot: header_reference_page

En détail

Défini par IEEE 754, un float de 32 bits a 1 bit de signe, 8 d'exposant et 23 de fraction (environ 7 chiffres décimaux) ; un double de 64 bits en a 1, 11 et 52 (environ 16 chiffres). La valeur vaut à peu près signe × 1.fraction × 2^exposant, si bien que les écarts entre nombres représentables croissent avec la taille du nombre. Les valeurs spéciales comprennent le zéro signé, les infinis et NaN (not a number).

Pourquoi c'est important

La plupart des fractions décimales, comme 0,1, n'ont pas de forme binaire exacte ; les résultats portent donc de minuscules erreurs d'arrondi et les comparaisons avec == peuvent échouer. On compare avec une tolérance et l'on utilise des entiers ou des types décimaux pour l'argent. Inspectez les bits exacts et la valeur de n'importe quel nombre avec le convertisseur de flottants IEEE 754.

Exemple

En double précision, 0.1 + 0.2 vaut 0.30000000000000004 et non 0.3, car ni 0,1 ni 0,2 ne sont stockés exactement. La valeur stockée de 0,1 est 0.1000000000000000055511151231257827….

AdSense Placeholder
Slot: footer_leaderboard