En véritable notation scientifique, on écrit 1,82195E2 soit 1,82195x10 2 .
C’est le principe de la notation scientifique qu’il va falloir retenir mais en binaire, pas en décimal. Le microprocesseur ne
manipule pas de puissances de 10, mais de 2. Aussi il faut trouver, selon le même principe, un moyen de transformer
tout ceci en binaire. Dans la partie avant la virgule, ce sont des puissances de 2 positives (2 0 , 2 1 , 2 2 , etc). Après la
virgule, il faut passer en puissances de 2 négatives (2 1 , 2 2 , 2 3 , etc). La première partie ne pose aucun problème.
182 (10) =10110110 (2)
La seconde partie est plus délicate. Elle se base sur les puissances négatives de 2. Pour rappel mathématique 2
1 =1/2 1 , 2 2 =1/2 2 , etc.
0,195x2=0,390 <1, on pose 0, 0,0...
0,390x2=0,780 <1, on pose 0, 0,00...
0,780x2=1,560 >1, on pose 1, 0,001...
0,560x2=1,120 >1, on pose 1, 0,0011...
0,120x2=0,240 <1, on pose 0, 0,00110...
0,240x2=0,480 <1, on pose 0, 0,001100...
0,480x2=0,960 <1, on pose 0, 0,0011000...
0,960x2=1,920 >1, on pose 1, 0,00110001...
0,920x2=1,840 >1, on pose 1, 0,001100011...
0,840x2=1,680 >1, on pose 1, 0,0011000111...
0,680x2=1,360 >1, on pose 1, 0,00110001111...
0,360x2=0,720 <1, on pose 0, 0,001100011110...
0,720x2=1,440 >1, on pose 1, 0,0011000111101...
0,440x2=0,880 <1, on pose 0, 0,00110001111010...
0,880x2=1,760 >1, on pose 1, 0,001100011110101...
0,760x2=1,520 >1, on pose 1, 0,0011000111101011...
et ainsi de suite ! Ici vous obtenez une précision de 2 16 . Si d’ailleurs vous faites le total en décimal (2 3 +2 4 +2 8 +2
9 +2 10 ...) vous obtenez un total de 0,1949920654296875. Vous voyez qu’on n’obtient pas la valeur exacte. Même avec
plus de place et plus de calculs, le résultat approcherait 0,1949999999... sans jamais atteindre 0,195.
0,195 (10) =0011000111101011 (2) arrondi à une précision de 2
-16 .
182,195 (10) =10110110,0011000111101011 (2) , en arrondi.
10110110,0011000111101011=1,01101100011000111101011x2 7
Enfin, puisque le 1 avant les virgules est implicite, on le supprime. On obtient ce qu’on appelle une mantisse.
Mantisse=01101100011000111101011
Plus on souhaite que la précision soit fine, plus on descend dans les puissances de 2. Vous voyez cependant qu’à un
moment il faut s’arrêter, et qu’il faut se contenter d’une précision de compromis. Ce système est aussi gourmand en
place. Il existe une norme pour représenter les nombres réels en binaire, elle a été définie par l’IEEE, pour des
précisions dites simples et doubles. En précision simple, le nombre réel est codé sur 32 bits. En précision double, il l’est
sur 64 bits. Il existe aussi une précision sur 80 bits. Le principe est le même dans tous les cas. Il est basé sur la
représentation du signe "S" du nombre, d’une mantisse "M" et d’un exposant "E".
Représentation binaire 32 bits d’un réel simple précision
- 2 -
© ENI Editions - All rigths reserved - Jonifar lina
42
C’est le principe de la notation scientifique qu’il va falloir retenir mais en binaire, pas en décimal. Le microprocesseur ne
manipule pas de puissances de 10, mais de 2. Aussi il faut trouver, selon le même principe, un moyen de transformer
tout ceci en binaire. Dans la partie avant la virgule, ce sont des puissances de 2 positives (2 0 , 2 1 , 2 2 , etc). Après la
virgule, il faut passer en puissances de 2 négatives (2 1 , 2 2 , 2 3 , etc). La première partie ne pose aucun problème.
182 (10) =10110110 (2)
La seconde partie est plus délicate. Elle se base sur les puissances négatives de 2. Pour rappel mathématique 2
1 =1/2 1 , 2 2 =1/2 2 , etc.
0,195x2=0,390 <1, on pose 0, 0,0...
0,390x2=0,780 <1, on pose 0, 0,00...
0,780x2=1,560 >1, on pose 1, 0,001...
0,560x2=1,120 >1, on pose 1, 0,0011...
0,120x2=0,240 <1, on pose 0, 0,00110...
0,240x2=0,480 <1, on pose 0, 0,001100...
0,480x2=0,960 <1, on pose 0, 0,0011000...
0,960x2=1,920 >1, on pose 1, 0,00110001...
0,920x2=1,840 >1, on pose 1, 0,001100011...
0,840x2=1,680 >1, on pose 1, 0,0011000111...
0,680x2=1,360 >1, on pose 1, 0,00110001111...
0,360x2=0,720 <1, on pose 0, 0,001100011110...
0,720x2=1,440 >1, on pose 1, 0,0011000111101...
0,440x2=0,880 <1, on pose 0, 0,00110001111010...
0,880x2=1,760 >1, on pose 1, 0,001100011110101...
0,760x2=1,520 >1, on pose 1, 0,0011000111101011...
et ainsi de suite ! Ici vous obtenez une précision de 2 16 . Si d’ailleurs vous faites le total en décimal (2 3 +2 4 +2 8 +2
9 +2 10 ...) vous obtenez un total de 0,1949920654296875. Vous voyez qu’on n’obtient pas la valeur exacte. Même avec
plus de place et plus de calculs, le résultat approcherait 0,1949999999... sans jamais atteindre 0,195.
0,195 (10) =0011000111101011 (2) arrondi à une précision de 2
-16 .
182,195 (10) =10110110,0011000111101011 (2) , en arrondi.
10110110,0011000111101011=1,01101100011000111101011x2 7
Enfin, puisque le 1 avant les virgules est implicite, on le supprime. On obtient ce qu’on appelle une mantisse.
Mantisse=01101100011000111101011
Plus on souhaite que la précision soit fine, plus on descend dans les puissances de 2. Vous voyez cependant qu’à un
moment il faut s’arrêter, et qu’il faut se contenter d’une précision de compromis. Ce système est aussi gourmand en
place. Il existe une norme pour représenter les nombres réels en binaire, elle a été définie par l’IEEE, pour des
précisions dites simples et doubles. En précision simple, le nombre réel est codé sur 32 bits. En précision double, il l’est
sur 64 bits. Il existe aussi une précision sur 80 bits. Le principe est le même dans tous les cas. Il est basé sur la
représentation du signe "S" du nombre, d’une mantisse "M" et d’un exposant "E".
Représentation binaire 32 bits d’un réel simple précision
- 2 -
© ENI Editions - All rigths reserved - Jonifar lina
42
