informatique (tronc commun des prépas scientifiques) · Chapitre 11 · Exercice de TD
Le trou à
La représentation des nombres · niveau 2
Énoncé
Expliquer pourquoi l'évaluation float(2**53) == float(2**53 + 1) renvoie True en Python.
Corrigé
Le format flottant de double précision utilise 52 bits de mantisse fractionnaire. Il permet de coder de façon exacte tous les entiers consécutifs jusqu'à . Au-delà de cette valeur, l'espacement minimal entre deux flottants consécutifs passe à . Le nombre impair ne peut donc pas être représenté et est arrondi par défaut à la valeur paire représentable la plus proche, soit . La comparaison de leurs flottants renvoie donc True.