MPE23 Virgule flottante

[Un article technique aujourd’hui qui pourrait intéresser les étudiants en informatique et les personnes en reconversion professionnelle dans le domaine.
Demain, nous évoquerons les signes de correction typographique, utiles à ceux qui ont à communiquer avec les professionnels de la chaine graphique.
Passez un bon week-end (confiné) !]

Virgule flottante

Méthode d’écriture des nombres réels utilisée dans les ordinateurs.

Les nombres sont représentés par trois éléments :

  • Le signe (+1 ou -1) toujours codé sur un bit.
  • La mantisse (ont dit aussi significande).
  • l’exposant (entier relatif)

Ces trois éléments sont liés par la formule :

nombre = signe x bexposant

dans laquelle b est la base de numération utilisée. Ce sera le plus souvent 2 mais on trouve des machines qui utilisent d’autres valeurs.

Donnons un exemple (en base 10) :

1,414 = 1 x 1414 x 10-3

1 représente le signe, la mantisse est 1414, l’exposant est -3.

On peut observer immédiatement que le même nombre peut être représenté de plusieurs manières (avec la même précision), par exemple :

1,414 = 1 x 1,414 x 100

1,414 = 1 x 141,4 x 10-2

On fait ainsi flotter la virgule. La position de la virgule est une convention qui est fixée par la norme utilisée. Il faut aussi décider du nombre total de bits utilisés et du nombre utilisé pour coder la mantisse et l’exposant.

La norme IEEE 754

Cette norme parue en 1985 est venu fixer les formats des nombres en virgule flottante utilisés dans les ordinateurs.

Elle spécifie deux formats de nombres en virgule flottante en base 2 et deux formats étendus optionnels. Elle précise également comment doivent doivent être effectuées quelques opérations.

La plupart des ordinateurs actuels utilise la norme IEEE 754. Les calculs sur les flottants IEEE sont en fait cablés, c’est à dire réalisés par des circuits ad hoc dans le processeur.

Le premier format de la norme (sur 32 bits) est appelé simple précision ou binary32. Les bits sont répartis de la manière suivante :

  • 1 bit pour le signe
  • 8 bits pour l’exposant
  • 23 bits pour la mantisse

Le second format de la norme (sur 64 bits) est appelé double précision ou binary64. Les bits sont répartis de la manière suivante :

  • 1 bit pour le signe
  • 11 bits pour l’exposant
  • 52 bits pour la mantisse

Le compilateur gcc du langage C pour les architectures 32 bits utilise le format simple précision pour représenter les variables de type float et le format double précision pour représenter les variables de type double.

Video très bien faite sur la conversion des nombres décimaux en virgule flottante.

Pour en savoir plus

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *