48
2 Les fondements du calcul scientifique
Notons
F(β, t, L, U ) = {0} ∪
x ∈ R : x = (−1)
s β
e
t
i=1
a i β
−i
avec β ≥ 2, 0≤ a i ≤ β − 1, L ≤ e ≤ U , l’ensemble des nombres ` a virgule
flottante ´ ecrits en base β, comportant t chiffres significatifs et dont l’exposant
peut varier dans l’intervalle ]L, U [.
Afin d’assurer l’unicit´ e de la repr´ esentation d’un nombre, on suppose que
a 1 = 0 et m ≥ β
t−1 . (Par exemple, dans le cas β = 10, t = 4, L = −1 et
U = 4, si l’on ne faisait pas l’hypoth` ese que a 1 = 0, le nombre 1 admettrait
les repr´ esentations suivantes
0.1000 · 10
1 , 0.0100 · 10
2 , 0.0010 · 10
3 , 0.0001 · 10
4 .
On dit dans ce cas que a 1 est le chiffre significatif principal, a t le dernier
chiffre significatif et la repr´ esentation de x est alors dite normalis´ ee. La mantisse m varie `
a pr´ esent entre β
−1 et 1. Toujours pour assurer l’unicit´ e de la
repr´ esentation, on suppose que le nombre z´ ero a ´ egalement un signe (on prend
typiquement s = 0).
Il est imm´ ediat de v´ erifier que si x ∈ F(β, t, L, U ) alors −x ∈ F(β, t, L, U ). On
a de plus l’encadrement suivant pour la valeur absolue de x :
x min = β
L−1
≤ |x| ≤ β
U (1 − β
−t ) = x max .
(2.30)
L’ensemble F(β, t, L, U ) (not´ e simplement F dans la suite) a pour cardinal
card F = 2(β − 1)β
t−1 (U − L + 1) + 1.
D’apr` es (2.30), il s’av` ere impossible de repr´ esenter un nombre r´ eel non nul
dont la valeur absolue est inf´ erieure ` a x min . Cette limitation peut ˆ etre lev´ ee
en compl´ etant F par l’ensemble F D des nombres flottants d´ enormalis´ es obtenu
en abandonnant l’hypoth` ese a 1 = 0 pour les nombres d’exposant minimal L.
De cette mani` ere, on ne perd pas l’unicit´ e de la repr´ esentation, et il est possible
de construire des nombres avec une mantisse comprise entre 1 et β
t−1
− 1 et
qui appartiennent `
a l’intervalle ] − β
L−1 , β
L−1 [. Le plus petit nombre de cet
ensemble a une valeur absolue ´ egale ` a β
L−t .
Exemple 2.11 Les nombres positifs de l’ensemble F(2, 3, −1, 2) sont
(0.111) · 2
2 =
7
2
,
(0.110) · 2
2 = 3,
(0.101) · 2
2 =
5
2
,
(0.100) · 2
2 = 2,
(0.111) · 2 =
7
4
,
(0.110) · 2 =
3
2
,
(0.101) · 2 =
5
4
,
(0.100) · 2 = 1,
(0.111) =
7
8
,
(0.110) =
3
4
,
(0.101) =
5
8
,
(0.100) =
1
2
,
(0.111) · 2
−1 =
7
16
, (0.110) · 2
−1 =
3
8
, (0.101) · 2
−1 =
5
16
, (0.100) · 2
−1 =
1
4
.
Précédent

- 62/540

Suivant