À retenir
- Sert à stocker des nombres réels (avec décimales).
- Précision limitée : ils sont souvent une approximation proche de la réalité.
- Standardisés mondialement par la norme IEEE 754.
Un nombre à virgule flottante est la méthode qu'utilise un ordinateur pour représenter des nombres qui ne sont pas entiers (ceux qui ont une virgule). C'est l'équivalent informatique de la notation scientifique : au lieu d'écrire 0,00001, on écrit 1,0 multiplié par 10 à la puissance -5. La virgule n'est pas fixe, elle « flotte » pour s'adapter à la taille du nombre.
Étymologie
Traduction de l'anglais floating-point. Le terme souligne que la position de la virgule peut varier dynamiquement dans la mémoire de l'ordinateur, contrairement à la « virgule fixe » où le nombre de décimales est déterminé à l'avance.
Exemples d'usage
- Le nombre
3.14159utilisé pour des calculs géométriques. - Une température de
-12.5degrés enregistrée par un capteur. - Le score de
0.007dans une simulation statistique.
Cas d'usage
On les utilise massivement dans les calculs scientifiques, les moteurs physiques de jeux vidéo (pour les trajectoires), le traitement d'images et de sons, ou encore la géolocalisation. Ils permettent de manipuler des valeurs extrêmement variées, des dimensions d'un atome aux distances entre les galaxies.
Bonnes pratiques
Évitez de comparer deux nombres flottants avec un signe égal (==). À cause de la manière dont ils sont stockés, un calcul qui devrait donner 0,3 pourrait donner 0,3000000000004, ce qui rendrait le test faux. Pour manipuler de l'argent, préférez utiliser des nombres entiers (compter en centimes) pour éviter les erreurs d'arrondi catastrophiques.
Synonymes
Antonymes
Conseil
Quand vous débutez en programmation, utilisez le type double par défaut plutôt que float si vous avez besoin de précision, et souvenez-vous qu'un calcul complexe sur des flottants finit toujours par accumuler une petite marge d'erreur.
Questions fréquentes
Pourquoi dit-on que les flottants sont imprécis ?
Parce que l'ordinateur travaille en binaire (base 2). Certains nombres simples en base 10, comme 0,1, n'ont pas de correspondance exacte en binaire, comme 1/3 n'en a pas en décimal (0,333...).
C'est quoi un 'Double' ?
C'est un nombre à virgule flottante qui utilise deux fois plus de mémoire (64 bits au lieu de 32) pour offrir une précision bien plus grande et accepter des nombres plus immenses.