Professional Documents
Culture Documents
|
|
\
|
+ =
[Title of the course] 31-Oct-11
Copyright 2004-2005 NameOfTheOrganization. All rights reserved. 27
Les binaires virgule flottante
Le codage des rels
Conversion binaire IEEE 754 vers dcimal rel Exemple
Soit N = 1 10000010 00110000000000000000000
2
N est cod en simple prcision donc
taille(mantisse) = 23
biais = 127
1 10000010 00110000000000000000000
-1 130 127 1 + 0.125 + 0.0625
N = -1.1875 2
3
= - 9.5
Les binaires virgule flottante
Le codage des rels
Conversion dcimal rel vers binaire IEEE 754
La conversion seffectue en trois tapes :
conversion du nombre rel crit en base 10, vers la
base 2 en utilisant une version modifie de
lalgorithme dcriture (le test darrt est N>0 et
non M0) ;
normalisation du nombre binaire obtenu ;
troncature ventuelle de la mantisse selon la
prcision choisie.
Peut conduire des valeurs approches qui entranent
de erreurs darrondis.
non
Les binaires virgule flottante
Le codage des rels
Conversion dcimal rel vers binaire IEEE 754
Dbut
End
N>0
non
Ajouter
1 B
B=
m=mMax
Ajouter
0 B
N = N 2
m
2
m
>N
m = m 1
oui
oui
Saisie de N
Afficher B
m!=0
Ajouter
. B
non
oui
[Title of the course] 31-Oct-11
Copyright 2004-2005 NameOfTheOrganization. All rights reserved. 28
Les binaires virgule flottante
Le codage des rels
Conversion dcimal rel vers binaire IEEE 754 Exemple
N = 54.265625
10
avec mMax=7
M
dpart
7
6
5
4
3
2
1
0
-1
-2
-3
-4
-5
-6
Test
2
7
=128 > 54.265625
2
6
=64 > 54.265625
2
5
=32 54.265625
2
4
=16 22.265625
2
3
=8 > 6.265625
2
2
=4 665625
2
1
=2 2.265625
2
0
=1 > 0.265625
2
-1
=0.5 > 0.265625
2
-2
=0.25 0.265625
2
-3
=0.125 > 0.015625
2
-4
=0.0625 > 0.015625
2
-5
=0.03125 > 0.015625
2
-6
=0.015625 0.015625
N
54.265625
54.265625
54.265625
22.265625=54.265625-32
6.265625=22.265625-16
6.265625
2.265625=6.265625-4
0.265625=2.265625-2
0.265625
0.265625
0.015625=0.265625-0.25
0.015625
0.015625
0.015625
0=0.015625-0.015625
B
0
00
001
0011
00110
001101
0011011
00110110.
00110110.0
00110110.01
00110110.010
00110110.0100
00110110.01000
00110110.010001
Les binaires virgule flottante
Le codage des rels
Conversion dcimal rel vers binaire IEEE 754 Exemple
N = 54.265625
10
est donc gal 110110.010001
2
Nous devons maintenant normaliser ce nombre, nous
obtenons N = 1.10110010001
2
2
5
10
Finalement, le codage de N selon le format IEEE 754 est :
Bit de signe 0 (le nombre est positif)
Champ exposant = 5
10
+ 127
10
soit 10000100
2
Champ mantisse = 10110010001000000000000
2
Nous obtenons 0 10000100 10110010001000000000000
2
Les binaires virgule flottante
Le codage des rels
Conversion dcimal rel vers binaire IEEE 754
Si le nombre rel est dj crit en notation scientifique
en base (de la forme mantisse 10
exposant
) utiliser une
procdure modifie
conversion de la mantisse crite en base 10, vers la
base 2 en utilisant la mme version modifie de
lalgorithme dcriture
conversion du nombre 10
n
en base 2
multiplier les deux nombres binaires obtenus
normalisation du rsultat
troncature ventuelle de la nouvelle mantisse selon
la prcision choisie
[Title of the course] 31-Oct-11
Copyright 2004-2005 NameOfTheOrganization. All rights reserved. 29
Les binaires virgule flottante
Le codage des rels
Conversion dcimal rel vers binaire IEEE 754
Comment passer de 10
n
10
m
2
2
e
10
Nous avons N = 10
n
10
= (8
10
+ 2
10
)
n
= (2
3
10
+ 2
1
10
)
n
Nous devons utiliser la formule du binme de
Newton, nous obtenons donc :
( )
2 b et 2 a
! p )! p n (
! n
C
avec b a C b a N
1 3
p
n
n
0 p
p p n p
n
n
= =
=
= + =
=
( ) ( )
=
=
+
=
= = =
n
0 p
p 2 n 3 p
n
n
0 p
p p n 3 p
n
n
0 p
p p n 3 p
n
2 C 2 C 2 2 C N
n 3
n
0 p
p 2 p
n
2 2 C N
|
|
\
|
=
=
\
|