Académique Documents
Professionnel Documents
Culture Documents
3
Le codage des nombres réels
La représentation des nombres doit répondre à deux
exigences contradictoires :
Précision: intervalle entre deux rationnels codés :
>>> Doit être le plus petit possible
En pratique:
Représentation circulaire
Ex: sur 3 bits
En ajoutant 1 à la
plus grande valeur
positive on obtient
la valeur négative
extrême.
5
Représentation format fixe (réels)
Le format d’une donnée ne varie pas au cours du temps
Représentation : partie entière - partie fractionnaire
Q3,2
Qm,n
-2m
Q3,2
Exercice:
Donner la représentation en virgule fixe 7
des formats (b , m, n) suivants: (5,7,-3); (6,-2,7); (9,0,8); (7,3,3)
Format Qk en virgule fixe
(Si un seul nombre est précisé, c’est la partie fractionnaire)
Q0 désigne le
cas particulier
des entiers
signés
10
Représentation Qk sur 16 bits
Quel format faut-il pour représenter tous les réels -1≤ Nombre <1 ?
Généralement, pour obtenir une bonne dynamique sur l’intervalle [-1, 1[, utiliser le
format QN-1 sur N bits.
Format Q15: sur 16 bits, le format Q15 permet de représenter tous les réels entre -1 et
1 avec une précision q=2-15 11
Choix du format Qk
(partie entière)
En décibel:
13
Cas particuliers de codage
Deux représentations particulières liées à la position de la
virgule sont couramment utilisées:
• Cadrage à Droite: Lorsque la virgule est cadrée à droite la
valeur codée est entière
• Cadrage à Gauche: Lorsque celle-ci est cadrée à gauche la
donnée est fractionnaire.
14
Les opérations: l’addition
• La multiplication se fait
comme pour les
nombres entiers.
• On fait d’abord la
multiplication puis à la fin
on ajuste la virgule à la
bonne place.
16
Codage en virgule flottante
Représentation : exposant - mantisse
La mantisse et l’exposant sont représentés
eux même en Cà2.
Ils peuvent donc prendre des valeurs négatives.
En binaire:
IEEE 754,
17
exposant codé = exposant réel + excédent
Virgule flottante, IEEE 754
Représentation en simple précision
1 00 0 00 0 11 1 1
19
IEEE 754, Exemple (2)
Représentation en simple précision
4)Constituez le calage IEEE en simple précision 8 bits : 28 - 1 - 1 = 127
5)Constituez l'exposant : 0000 0100 0000 1111 = 1,00 0000 1111 × 210
exposant = 10 + calage = 10 +127= 137
4)Exprimer l'exposant en binaire (137)10 = (1000 1001)2
5)Etendre la partie fractionnaire à 23 bits
mantisse sur 23 bits = 000 0001 1110 0000 0000 0000
11 0 0 01 0 01 00 0 00 0 11 1 1 00 0 00 0 00 0 00 0 0
20
Exemple 1
Soit à coder en simple précision la valeur 525,5.
Si l'on suivait la même représentation que pour les nombres à exposant non nul, on
aurait
valeur = signe × (1 + mantisse) × 2-décalage; mais la valeur retenue est
valeur = signe × mantisse × 2-décalage + 1
c'est-à-dire que pour un exposant codé sur 8 bits (représentation dite à simple
précision), on a
23
Précisions en virgule flottante
1.40129846432481707092372958329E-45
2.80259692864963414184745916658E-45
1.00000011920928955078125
24
Précisions en virgule flottante
Pour les très petits nombres Écart de 1.40129846432481707092372958329.10-45
Pour les petits nombres Écart de 1,1920928955078125.10-7
Pour les grands nombres Écart de 0.000000256. 109 = 256 !
3.0E9
3.000000256E9
1.70141183460469231731687303716E38
1.70141203742878835383357727663E38
Les nombres ne sont pas également espacés dans l’ensemble F des nombres flottants
représentables.
25