(-1) m 2

publicité
Représentation numérique de l’information :
les nombres à virgule
Nous avons vu comment représenter en binaire les entiers naturels et les entiers relatifs. Se pose
maintenant le problème de représenter les nombres à virgule.
Cas général d’un nombre décimal
Le nombre 11,11(2) correspond au nombre :
1×21 + 1×20 + 1×2-1 + 1×2-2
23
22
21
1
20
1,
2-1
1
2-2
1
2-3
2-4
= 2 +1 + 0,5 + 0,25
=3,75
Quels sont les nombres suivants ? (s’aider du tableau ci-dessus) :
1000,001(2) et 10,1111(2)
Les nombres à virgule sont en général représentés en « notation scientifique » sous la forme
s
(-1) m 2
:
n
s est le signe, m la mantisse ( 1≤m<2) et n l’exposant.
Dans la représentation des nombres avec 64 bits, on utilise 1 bit pour le signe, 11 bits pour l’exposant
puis 52 bits pour la mantisse ( attention l’ordre n’est pas le même que pour l’expression précédente).
 Le signe + est représenté par un ……. et le signe - par un ………
 Avec 11 bits pour l’exposant, on peut coder au maximum 2 11 = 2048 nombres.
L’exposant n est un entier relatif compris entre -1022 et 1023 et on le représente
par l’entier naturel n + 1023 qui est compris entre 1 et 2046. Les 2 entiers
naturels 0 et 2047 sont réservés à des situations particulières ( +∞, −∞, … . ).
 La mantisse m représente un nombre compris entre 1 compris et 2 exclu.
Puisque le chiffre avant la virgule est toujours 1, on a décidé de ne pas le
représenter et de consacrer les 52 bits aux chiffres après la virgule.
Exemple :
Trouver le nombre à virgule représenté par le mot
1100010001101001001111000000000000000000000000000000000000000000
Le signe est représenté par 1.
L’exposant est représenté par 10001000110. La mantisse e st représentée par
1001001111000011100000000000000000000000000000000000.
Le signe du nombre est donc -. Le nombre 100 0100 0110 est égal à 1 094 et l’exposant du
nombre est n = 1094 - 1023 = 71. Sa mantisse est :
m = 1.1001 0011 1100 0011 1000 0000 0000
0000 0000 0000 0000 0000 0000
On rajoute un
« 1 ».
= 1 + 1/2 + 1/24 + 1/27 + 1/28 + 1/29 + 1/210
= 1,577…
Le nombre représenté est donc - 1,577× 271 = - 3,724 × 1021
Exercice 1 :
Convertir en base 2 le nombre 104,40625(10)
Exercice 2 :
Trouver le nombre à virgule représenté par le mot
0100000010111100000000000000000000000000000000000000000000000000
Exercice 2 :
Comment pourrait-on représenter le nombre 7,0 sur 64 bits ?
Comment pourrait-on représenter le nombre 10,75 sur 64 bits ?
Téléchargement