Numérique et sciences informatiques (spécialité) · Première
Flottants et nombres réels : quiz corrigé de NSI en Première
Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur
L'essentiel
- Un flottant s'écrit comme en notation scientifique, mais en binaire : une mantisse, un exposant 2.
- Un flottant est une approximation d'un réel : on ne peut pas représenter exactement tous les réels 1.
- Un nombre comme 1,1 a un développement binaire infini, coupé à 52 chiffres en double précision : d'où des erreurs d'arrondi 3.
- L'ensemble des flottants est fini et l'addition n'y est pas associative : l'ordre des calculs compte 2.
Avant de commencer
Ce quiz porte sur la façon dont un ordinateur range les nombres à virgule. Tu y retrouves la différence entre virgule fixe et virgule flottante, le rôle de la mantisse, la raison pour laquelle un calcul comme 3 * 1.1 peut surprendre, et le lien entre flottants et nombres réels.
Les notions utiles viennent de ce que tu as déjà vu : l'écriture d'un entier en base 2, 10 et 16, et la représentation des entiers relatifs. Si une question te résiste, reviens au cours sur les flottants avant de recommencer.
Quiz
14 questions · correction immédiate · ton score reste sur ton appareil.
-
La virgule flottante est une méthode d'écriture des nombres équivalente à la notation scientifique en numération binaire 2. Elle représente un nombre par une mantisse et un exposant. La deuxième proposition décrit au contraire la virgule fixe, qui s'oppose à la virgule flottante 2. Le complément à deux sert aux entiers relatifs, pas aux nombres à virgule. Le dénominateur 10 évoque les nombres décimaux, ce qui est autre chose.
-
En virgule fixe, la position de la virgule est figée : on compte des multiples d'une fraction de l'unité, ici le millième 2. L'écriture 1234,567 se lit donc 1234 unités et 567 millièmes. Trois chiffres après la virgule correspondent à des millièmes, non à des centièmes (qui n'en demanderaient que deux). Ce n'est évidemment ni 1234567 unités ni un produit.
-
Dire que 1234,567 vaut 1234 unités et 567 millièmes revient à tout compter en millièmes 2 : . L'entier cherché est donc 1234567. L'erreur fréquente est de ne garder que 567 ou 1234 : il faut tout lire comme un seul entier, la virgule étant « sous-entendue » après trois chiffres.
-
C'est faux : il est impossible de représenter exactement tous les nombres réels 1. On peut en revanche approcher n'importe quel réel d'aussi près qu'on veut 1. La confusion vient de là : « approcher aussi près qu'on veut » ne veut pas dire « représenter exactement » ; la mémoire est finie, la précision aussi.
-
Le nombre 1,1 s'écrit en base 2 avec un développement infini, 1,0001100110011..., que le codage coupe : cette erreur d'arrondi donne des résultats parfois surprenants 3. Ce n'est donc pas un bogue : tout langage qui utilise des flottants binaires se comporte ainsi. Python ne convertit pas en entier, et la multiplication est bien définie ; c'est la valeur de départ qui est déjà approchée.
-
C'est faux. En base 2, 1,1 s'écrit 1,0001100110011... : le développement ne s'arrête pas 3. Il faut donc le couper, ce qui introduit une erreur. Ne confonds pas « écriture finie en base 10 » (1,1 a un seul chiffre après la virgule) et « écriture finie en base 2 » : une écriture peut être courte dans une base et infinie dans l'autre.
-
Le codage de 1,1 coupe le développement à 52 chiffres binaires dans le format double précision de la norme IEEE 754, le plus courant 3. Ne confonds pas ce nombre avec la taille totale du flottant : la mantisse n'est qu'une partie du codage, l'exposant et le signe occupent d'autres bits.
-
La précision est préservée parce que la mantisse garde une longueur constante en chiffres significatifs et ne commence pas par un zéro 2. Sa taille ne varie donc pas avec la grandeur du nombre : c'est l'exposant qui absorbe les écarts d'ordre de grandeur. Dire que la mantisse change de longueur est donc l'inverse de la bonne réponse.
-
Avec le même nombre de bits, la représentation en virgule flottante peut gérer un intervalle numérique plus important 2 : l'exposant permet d'atteindre des nombres très grands ou très petits. Elle ne rend pas les calculs exacts, comme le montre l'exemple de 1,1, et elle n'est pas exacte pour tous les décimaux 3. Le gain porte sur l'étendue, pas sur l'exactitude.
-
Dans un calcul, on considère le plus souvent le flottant comme une approximation d'un nombre réel 2 : la première est vraie. L'ensemble des flottants est fini, son nombre d'éléments dépendant de la base et du nombre de chiffres de la mantisse et de l'exposant 2 : la deuxième est vraie. Contrairement aux réels, l'addition n'est pas associative pour les flottants 2 : la troisième est fausse. Et comme on ne peut pas représenter exactement tous les réels 1, la quatrième est fausse.
-
Contrairement à ce qui se passe dans l'ensemble des réels, l'addition n'est pas associative pour les flottants : l'ordre de calcul a donc de l'importance 2. Chaque addition arrondit son résultat, et les arrondis dépendent de l'ordre des regroupements, alors que pour des réels. Les autres propositions inventent des règles inexistantes.
-
L'ensemble des décimaux est 3. Le nombre convient avec et . Le nombre n'a pas de forme : son écriture décimale ne s'arrête jamais. Quant à et , ce ne sont même pas des rationnels.
-
Les décimaux sont topologiquement denses dans ℝ : autrement dit, tout réel est la limite d'une suite de décimaux, comme ses approximations décimales par défaut ou par excès 3. C'est ce qui permet d'approcher n'importe quel réel d'aussi près qu'on veut. Cela ne veut pas dire que tout réel est décimal : ne l'est pas, par exemple.
-
Les langages acceptent en général que tu saisisses et affiches des nombres en écriture décimale, mais en interne ils manipulent le plus souvent des flottants binaires, qui ne sont qu'une approximation 3. Ce qui s'affiche ressemble donc au nombre tapé, mais la valeur en mémoire est une valeur proche. Les autres propositions décrivent des représentations (fraction, entier de millièmes) qui ne sont pas celle utilisée par défaut.
Les questions qu'on se pose
Pourquoi un ordinateur ne peut-il pas représenter exactement tous les réels ?
Faut-il comparer deux flottants avec == ?
C'est risqué. Chaque flottant est une approximation d'un réel 2, et des calculs différents qui devraient donner le même nombre peuvent produire des valeurs légèrement différentes, notamment parce que l'addition n'est pas associative 2. Il vaut mieux tester si l'écart entre deux valeurs est assez petit. Le quiz sur 3 * 1.1 illustre ce piège 3.
Quelle différence y a-t-il entre virgule fixe et virgule flottante ?
En virgule fixe, la virgule garde une place immuable : 1234,567 se lit comme 1234567 millièmes 2. En virgule flottante, on écrit un nombre avec une mantisse et un exposant, comme en notation scientifique, mais en binaire 2. Avec le même nombre de bits, la virgule flottante couvre un intervalle plus large 2.
Sources
- Arithmétique des ordinateurs - Représentation en virgule flottante, CNRS (Calcul). Consulté le 6 novembre 2026.
- Virgule flottante, Wikipédia. Consulté le 6 novembre 2026.
- Nombre décimal, Wikipédia. Consulté le 6 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.