À retenir
- Permet de représenter des nombres très petits ou très grands avec le même format.
- Composé d'un signe, d'une mantisse (les chiffres) et d'un exposant (la puissance).
- Génère parfois de légères erreurs d'arrondi dues à la conversion en binaire.
La virgule flottante est la technique utilisée par les ordinateurs pour représenter des nombres avec des décimales, qu'ils soient minuscules ou gigantesques. C'est l'équivalent informatique de la notation scientifique (par exemple 1,23 × 104), où la virgule peut se déplacer (flotter) pour s'adapter à la taille du nombre tout en conservant un maximum de chiffres significatifs.
Étymologie
Traduction directe de l'anglais floating point. Le concept s'est imposé avec le besoin de manipuler des échelles de grandeurs très différentes sans changer de format de données. La norme internationale IEEE 754 régit la manière dont ces nombres sont codés en binaire depuis les années 1980.
Exemples d'usage
- Le stockage de la constante Pi (3,14159...) dans un logiciel de géométrie.
- Le calcul de la trajectoire d'un vaisseau spatial nécessitant une précision extrême sur des distances de plusieurs millions de kilomètres.
- Le résultat d'une division comme 10 / 3 qui donne une suite infinie de chiffres.
Cas d'usage
On l'utilise massivement dans le calcul scientifique, les moteurs de jeux vidéo (pour positionner les objets en 3D), l'intelligence artificielle et la finance (bien que ce dernier domaine demande des précautions particulières).
Bonnes pratiques
Ne testez jamais l'égalité exacte entre deux nombres à virgule flottante (if (x == 0.3)) car les arrondis binaires peuvent produire des résultats inattendus comme 0,30000000000000004. Pour l'argent, utilisez des entiers (comptez en centimes) ou des types spécifiques à virgule fixe.
Synonymes
Antonymes
Conseil
Si vous débutez en programmation, privilégiez le type double au lieu de float. Il consomme un peu plus de mémoire, mais il vous évitera bien des maux de tête liés aux erreurs de précision sur vos calculs quotidiens.
Questions fréquentes
Pourquoi mon calcul 0.1 + 0.2 ne fait pas pile 0.3 ?
Parce que l'ordinateur travaille en base 2 (binaire) et que certains chiffres décimaux simples n'ont pas de traduction exacte dans ce système, créant une infime poussière d'erreur.
C'est quoi un 'Double' par rapport à un 'Float' ?
Un 'Double' est un nombre à virgule flottante en 'double précision' : il occupe deux fois plus de mémoire (64 bits) pour être beaucoup plus précis qu'un 'Float' standard (32 bits).