Comment utiliser cette page

Cette page suit toujours le même plan : le principe en une phrase, les étapes dans l'ordre exact, une démonstration interactive, le code Python, puis les points clés à retenir.

Utilisation de la démonstration
La démonstration avance uniquement quand vous cliquez sur « Suivant » ou « Précédent » : rien ne bouge tout seul. Un bouton « Lecture automatique » est disponible si vous préférez laisser les étapes défiler seules, à une vitesse que vous choisissez.

1. Vocabulaire à connaître avant de commencer

Chaque mot ci-dessous est utilisé exactement dans ce sens dans toute la page.

MotDéfinition précise
FlottantUn nombre à virgule (par opposition à un entier), aussi appelé nombre à virgule flottante.
Norme IEEE 754La façon standard de représenter les flottants en binaire, utilisée par la quasi-totalité des ordinateurs et des langages de programmation, dont Python.
Simple précisionUn format de la norme IEEE 754 qui utilise 32 bits au total pour représenter un flottant : 1 bit de signe, 8 bits d'exposant, 23 bits de mantisse.
SigneLe premier bit : 0 si le nombre est positif, 1 s'il est négatif.
ExposantLa puissance de 2 par laquelle on multiplie, stockée avec un biais (+127 en simple précision) pour pouvoir représenter des exposants négatifs sans bit de signe séparé.
MantisseLes chiffres après la virgule, une fois le nombre écrit sous la forme 1,xxxx × 2ᵉ.
Écriture normaliséeL'écriture d'un nombre binaire sous la forme 1,xxxx × 2ᵉ, avec un seul chiffre (toujours 1) avant la virgule.

2. Le nombre d'exemple utilisé dans cette page

On représente le nombre 12,375 en simple précision (32 bits), selon la norme IEEE 754.

Résultat à retrouver
12,375 s'écrit : signe 0, exposant 10000010, mantisse 10001100000000000000000.

3. La norme IEEE 754 (simple précision)

3.1 — Principe, en une phrase

Principe
On écrit le nombre en binaire sous la forme normalisée 1,xxxx × 2ᵉ, puis on stocke séparément le signe, l'exposant e (biaisé de +127), et les chiffres xxxx (la mantisse), sur 32 bits au total.

3.2 — Les étapes, dans l'ordre exact

  1. On écrit la partie entière et la partie décimale du nombre en binaire.
  2. On normalise l'écriture sous la forme 1,xxxx × 2ᵉ (un seul chiffre, toujours 1, avant la virgule).
  3. On détermine le bit de signe : 0 si le nombre est positif, 1 s'il est négatif.
  4. On calcule l'exposant biaisé : e + 127, écrit en binaire sur 8 bits.
  5. On prend les chiffres après la virgule de l'écriture normalisée : c'est la mantisse, complétée par des 0 jusqu'à 23 bits.
  6. On assemble : signe (1 bit) + exposant (8 bits) + mantisse (23 bits) = 32 bits au total.

3.3 — Démonstration interactive

signe (1 bit) exposant (8 bits) mantisse (23 bits)
Signe
Exposant
Mantisse
Étape 1 / 1
Les cases grises « ? » représentent les bits pas encore déterminés à cette étape.

3.4 — Code Python

import structdef bits_ieee754(x):    """Représentation binaire IEEE 754 (32 bits) du flottant x."""    paquet = struct.pack('>f', x)    entier = int.from_bytes(paquet, byteorder='big')    return format(entier, '032b')# Jeu de données : le même exemple que la démonstration ci-dessusx = 12.375bits = bits_ieee754(x)print(bits[0], bits[1:9], bits[9:])# Résultat affiché : 0 10000010 10001100000000000000000

3.5 — Points clés à retenir

Prêt(e) pour la suite ? → Retour à l'accueil