Académique Documents
Professionnel Documents
Culture Documents
Méthode : On décompose
En partie réelle (à gauche de la virgule). Il s’agit d’un entier donc on sait déjà faire la conversion en
binaire en faisant des divisions successives par 2. Nous avons une décomposition en valeurs
positives de puissances de 2
En partie décimale ou fractionnaire (à droite de la virgule). Nous allons faire une décomposition en
valeurs négatives de puissances de 2
On rassemble les 2 conversions
−1 −2 −3 −4
0,8125=1× 2 +1× 2 +0 ×2 +1 × 2 =0 ,5+ 0 ,25+ 0,125+0,0625
Le problème est que le caractère « , » n’est pas autorisé dans le langage binaire. Seuls 0 et 1 sont
autorisés. Alors l’idée est de prévoir un nombre défini de bits pour la partie entière et un nombre
défini de bits pour la partie décimale.
Inconvénients :
L'espace réservé à la partie fractionnaire limite le nombre de bits réservés à la partie entière. Ce
qui est gênant pour représenter de très grands nombres, pour lesquels la partie fractionnaire est
généralement peu signifiante.
Inversement, la précision sur de très petits nombres est limitée par le manque d'espace dans la
partie fractionnaire alors que pour ces nombres, la partie entière ne contient que des zéros.
Conclusion : L’espace est mal utilisé dans les deux cas.
Exemple :
Nombre réel s m e
−0,00712345 -1 7,12345 -3
54321,123456 1 5,4321123456 4
Résumé de 2 encodages :
Encodage Signe s décalage n = e + décalage Mantisse m
Simple précision :
1bit 127 8 bits 23 bits
32 bits
Double
1bit 1023 11 bits 52 bits
précision : 64 bits
Sources : http://www.jcbmathsandco.fr/ressources/NSI_1
http://cpgedupuydelome.fr/IMG/pdf/chap3.pdf
http://www.machaon.fr/isn/expose/virgule_flottante.pdf
Application : donner la représentation flottante en simple précision (norme IEEE 754 ) en simple
précision du nombre réel 128 puis du nombre réel 32,75.
128 :
(128)10 = (10000000)2
10000000 = 1,0000000*27
= 0 10000110 0000 0000 0000 0000 0000 000
32,75 :
(32,75)10 = (100000,11)2
1000000,11 = 1,00000011*25
5 + 127 = 132
3210 = 1000002 ; 0,75*2 = 1,5 ; 0,5*2 = 1 ; 0*2 = 0
= 0 10000100 0000 0011 0000 0000 0000 000