Dans un nombre réel en simple précision sur 32 bits, un bit est réservé pour le signe, 8 pour l’exposant et 23 pour la
mantisse, dans cet ordre, le bit de poids fort étant le signe. L’exposant doit subir un décalage de 2 n1 1, n étant le
nombre de bits utilisés. Le décalage est donc de 127. Enfin, il ne faut pas conserver le 1 de la mantisse : il est implicite.
Signe S:0
Exposant E: 7+127=134 (10)
, soit 10000111 (2)
Mantisse: 182,195 (10) , sur 23 bits 01101100011000111101011 (2)
Au final vous obtenez le nombre codé en 32 bits suivant :
Pour retrouver depuis ce nombre 32 bits la valeur réelle en décimal, il faut appliquer la formule suivante :
Formule de calcul d’un réel depuis sa représentation binaire
Reprenez les valeurs précédentes, converties en décimal pour plus de facilité :
q S=0
q E=137
q M=3551723
Le codage d’un réel sur 32 bits amène deux remarques :
q La taille de la mantisse limite la précision pour des nombres de grande valeur, car plus le nombre avant la
virgule occupe de la place, plus la taille restante dans la mantisse est réduite pour les chiffres après la virgule.
Cette remarque est aussi dans une moindre mesure valable pour un réel codé sur 64 bits.
q La précision peut se révéler insuffisante pour certaines applications. Si vous envoyez une fusée sur Jupiter en
calculant la trajectoire en simple précision pour chaque élément de calcul intervenant, la fusée risque à cette
échelle de ne pas arriver au bon endroit à cause des sommes d’imprécisions...
Le principe du réel en double précision est exactement le même, sauf que les tailles de l’exposant et de la mantisse
sont agrandies. L’exposant fait 11 bits, la mantisse 52 bits. Si vous reprenez les calculs mais cette fois en double
précision, vous arrivez à un total de 182,194999992847442626953125 avec un arrondi à 2 24 !
Un exemple concret et simple des erreurs d’arrondi peut être tout à fait mis en évidence avec une simple calculatrice à
très bas prix, ne seraitce qu’en divisant 1 par 3. Obtenezvous 1,333333 ou 1,333334 ? En réutilisant cette même
S
E
E
E
E
E
E
E
E
M
M
M
M
M
M
M
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
43
mantisse, dans cet ordre, le bit de poids fort étant le signe. L’exposant doit subir un décalage de 2 n1 1, n étant le
nombre de bits utilisés. Le décalage est donc de 127. Enfin, il ne faut pas conserver le 1 de la mantisse : il est implicite.
Signe S:0
Exposant E: 7+127=134 (10)
, soit 10000111 (2)
Mantisse: 182,195 (10) , sur 23 bits 01101100011000111101011 (2)
Au final vous obtenez le nombre codé en 32 bits suivant :
Pour retrouver depuis ce nombre 32 bits la valeur réelle en décimal, il faut appliquer la formule suivante :
Formule de calcul d’un réel depuis sa représentation binaire
Reprenez les valeurs précédentes, converties en décimal pour plus de facilité :
q S=0
q E=137
q M=3551723
Le codage d’un réel sur 32 bits amène deux remarques :
q La taille de la mantisse limite la précision pour des nombres de grande valeur, car plus le nombre avant la
virgule occupe de la place, plus la taille restante dans la mantisse est réduite pour les chiffres après la virgule.
Cette remarque est aussi dans une moindre mesure valable pour un réel codé sur 64 bits.
q La précision peut se révéler insuffisante pour certaines applications. Si vous envoyez une fusée sur Jupiter en
calculant la trajectoire en simple précision pour chaque élément de calcul intervenant, la fusée risque à cette
échelle de ne pas arriver au bon endroit à cause des sommes d’imprécisions...
Le principe du réel en double précision est exactement le même, sauf que les tailles de l’exposant et de la mantisse
sont agrandies. L’exposant fait 11 bits, la mantisse 52 bits. Si vous reprenez les calculs mais cette fois en double
précision, vous arrivez à un total de 182,194999992847442626953125 avec un arrondi à 2 24 !
Un exemple concret et simple des erreurs d’arrondi peut être tout à fait mis en évidence avec une simple calculatrice à
très bas prix, ne seraitce qu’en divisant 1 par 3. Obtenezvous 1,333333 ou 1,333334 ? En réutilisant cette même
S
E
E
E
E
E
E
E
E
M
M
M
M
M
M
M
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
43
