Chapitre 3. Manipulation de donn´ ees, fonctions
139
Remarque
On comprend ici la raison de l’appelation « virgule flottante », puisque
la « virgule » (le point en fait dans la notation anglo-saxonne utilis´ ee dans
ce livre) a ´ et´ e d´ eplac´ ee pour exprimer le mˆ eme nombre de fa¸ con diff´ erente.
En fait, dans un ordinateur, tout nombre r´ eel x est repr´ esent´ e en utilisant
une base binaire, et ` a l’aide de bits (0 ou 1), en utilisant la formule l´ eg` erement
diff´ erente suivante :
x = (−1)
s (1 + f )2
(e−1023)
(3.1)
o` u s est un entier cod´ e sur un seul bit (appel´ e bit de signe), e est un nombre
entier positif ou nul cod´ e sur 11 bits (pouvant donc prendre les valeurs de 0 ` a
2
11
− 1 = 2 047), et f ∈ [0; 1) est un nombre cod´ e sur 52 bits qui s’´ ecrit donc
f =
i=52
i=1
k i 2
−i
,
(3.2)
o` u les k i peuvent prendre les valeurs 0 ou 1. Une valeur de 0 pour e indiquera
par convention que le nombre x vaut 0, alors qu’une valeur de 2 047 pour e
indiquera par convention que x vaut +Inf ou −Inf, suivant la valeur de s.
Illustrons ceci sur deux exemples.
> s <- 1; e <- 2047; f <- 0; x <- (-1)^s * 2^(e-1023) * (1+f); x
[1] -Inf
> s <- 0; e <- 2047; f <- 0; x <- (-1)^s * 2^(e-1023) * (1+f); x
[1] Inf
3.9.2.2 Limite de cette repr´ esentation due ` a la mantisse
La grande majorit´ e des ordinateurs actuels utilisent une repr´ esentation en
virgule flottante. Toutefois, il est primordial de noter que, du fait de leurs limites physiques, cette repr´ esentation est imparfaite. En effet, la mantisse m ne
peut avoir qu’un nombre limit´ e (fini) de digits, et l’entier relatif e est born´ e,
e ∈ [e min , e max ], puisqu’on ne peut pas coder une infinit´ e d’entiers sur une machine physique (un ordinateur est ´ evidemment constitu´ e d’un nombre fini de
composantes).
Un exemple simple permettant de comprendre cette limitation est le suivant.
La repr´ esentation en virgule flottante dans une base d´ ecimale du nombre r´ eel
1/3 s’´ ecrit :
1/3 = (−1)
0
× 3.33333 · · · 333 · · · × 10
−1
.
Il est ´ evidemment impossible de stocker une infinit´ e de 3 sur un ordinateur.
Ceci est encore plus frappant avec le nombre π = 3.141592653589793 · · · pour
lequel il n’est pas possible de trouver une suite finie de chiffres qui se r´ ep` ete
Précédent

- 173/701

Suivant