Pages

Ads 468x60px

vendredi 30 septembre 2011

Représentation "à virgule flottante"


Rappelons ce qu'est la notation scientifique des nombres réels :
En "notation scientifique" dite "à virgule flottante"
- 0,006234 
s'écrit - 6.234 e- 3 ou - 6.234 E- 3

Cette notation est l'équivalent de :
- 6,234 . 10- 3
Observons bien la manière dont on construit ce format à partir d'une expression quelconque d'un nombre.
Prenons deux exemples de nombres écrits en base décimale :
- 0,007123456789 et +54321,123456

  1. On retient le signe du nombre.
    Et on ne s'interesse d'abord qu'à la valeur absolue.
  2. On met le nombre sous forme de deux facteurs.
    1. Un nombre de l'intervalle [1,9]
      7,123456789  pour le premier
      5,4321123456 pour le second
    2. Une puissance de 10 ramenant le produit à sa valeur initiale.
      7,123456789  ×10-3  pour le premier.
      5,4321123456 ×10+4   pour le second.
  3. On rétablit le signe.
    -7,123456789  ×10-3 pour le premier
    +5,4321123456 ×10+4 pour le second.
  4. On remplace, 10 par E (ou e) suivis de la caractéristique.
    -7,123456789 E-3 pour le premier
    +5,4321123456 E+4 pour le second.

Le nombre intermédiaire de l'intervalle [1,9]s'appelle la mantisse
.L'exposant de la puissance de 10 est appelé la caractéristique.
Ce dernier mot tombe actuellement en déssuétude.

Exemple en binaire.
Nb = -1010 1101,1011 0110
Mantisse de |Nb| = 1,010 1101 1011 0110
Caractéristique : + 7
Nb = - 1,010 1101 1011 0110 × 2+7
Notons que la mantisse comporte une partie entière et une partie fractionnaire.



Exemple : -7,123456789 E-3
7 est la partie entière de la mantisse,
123456789 est sa partie fractionnaire.
Nombre zéro en virgule flottante.
Rien n'interdit de représenter le nombre zéro
par un flottant dont la parties entière et fractionnaire sont nulles
ainsi que la caractéristique.

n = 0 x 100 = 0 x 1 = 0
Mais cette forme du zéro pose des problèmes dans les standards de représentation binaire
des nombres dans les mémoires des machines informatiques.
Notamment dans les formats 32 et 64 bits du standard IEEE.

Aucun commentaire:

Enregistrer un commentaire