Académique Documents
Professionnel Documents
Culture Documents
docx
Dans cet exemple, étant donné que 7+9=16 et que 16 > 9 (le plus grand des chiffres associés à la base 10), nous
positionnons 6 en dessous du 9 et nous reportons une unité au-dessus du 2 et ensuite nous additionnons 2 + 1 + 1 (la
retenue) = 4.
Retenue 1 1 1 1 1 1
010101
+ 111111
=1010100
Méthode :
1 + 1 = 2 > 1 (le plus grand des chiffres associés à la base 2) : on pose 0 et on retient 1
1 + 0 + 1 = 2 : on pose 0 et on retient 1
1 + 1 + 1 = 3 : on pose 1 et on retient 1
Et ainsi de suite…
1) Contexte
Pour coder un entier relatif, il est nécessaire de coder les informations tout en respectant les propriétés mathématiques
des entiers signés. Pour cela, il faut :
S’assurer que : -(-a) = a
S’assurer que : a + (-a) = 0
Exemple : prenons le cas de + 43, nous savons que (+43)10 = (00101011)2 (cf chapitre 1).
On inverse tous les bits du nombre et l'on obtient : (11010100)2
On ajoute 1 :
11010100
+ 00000001
= 11010101 donc –(43)10 = (11010101)2
Rappel :
Pour un nombre entier : (108)10 = 1 × 102 + 0 × 101 + 8 × 100
De même, pour un nombre réel : (108,893)10 = 1 × 102 + 0 × 101 + 8 × 100 + 8 × 10-1 + 9 × 10-2 + 3 × 10-3
Prolongement :
Q5 : Traduire (4B; 8)16 de la base 16 vers la base 10
Méthode :
Pour la partie entière, on utilise la méthode des divisions successives vue précédemment. Pour la partie fractionnaire,
on utilise la méthode des multiplications successives.
Hubert FOREY / Eric GALAND / Lycée Charles de Gaulle / : Page 3 sur 5 / : 704893455.docx
Exemple :
2,625 la partie entière est 2, ce qui donne (10)2 en base 2
On extrait la partie fractionnaire 0,625
On multiplie par 2 ×2
1,25 On sort le 1
On extrait la partie fractionnaire 0,25
On multiplie par 2 ×2
0,5 On sort le 0
On extrait la partie fractionnaire 0,5
On multiplie par 2 ×2
1 On sort le 1
Q6 : Traduire en binaire :
(8,3125)10
(0,546875)10
(2,921875)10.
Représentation normalisée : tout nombre binaire (N) peut se représenter comme ceci :
N = 1,mantisse × 2exposant
{
signe(0 pour les nombres positifs et 1 pour les nombresnégatifs)
partie exposant (décalage+ exposant en représentation normalisée)
mantisse : partie fractionnaire du nombre
Par conséquent, il n’est pas nécessaire de stocker le 1 situé à gauche de la virgule. On économise ainsi un précieux bit
pouvant être utilisé à meilleur escient.
Si on reprend l’exemple ci-dessus :
(1011,101101)2 = 1,011101101 × 23 en représentation normalisée
Si le nombre complet est stocké sur N=16 bits, la mantisse est stockée sur 16-5-1 = 10 bits
La mantisse vaut 0111011010 (on rajoute le 0 car on stocke sur 10 bits)
Le nombre sera stocké sur 16 bits sous la forme : 0 10010 0111011010
Exemple 2 : coder (2007)10 sur 12 bits repartis de la Exemple 3 : coder (-0,28125)10 sur 12 bits repartis de la
manière suivante : même manière que dans l’exemple 1.
- 1 bit pour le signe ;
- 5 bits pour la partie exposant ;
- 6 bits pour la partie mantisse.
Étape 1 : Le nombre est négatif : le 1er bit vaut 1
1
Étape 1 : Le nombre est positif : le 1er bit vaut 0
0 Étape 2 : convertir le nombre en binaire :
(- 0,28125)10 = (- 0,01001)2 paragraphe III. 2)
Étape 2 : convertir le nombre en binaire :
(2007)10 = (11111010111)2 Étape 3 : obtenir la représentation normalisée :
(- 0,01001)2 = ( - 1,001 × 2-2)2
Étape 3 : obtenir la représentation normalisée :
(11111010111)2 = (1,1111010111 × 210)2 Étape 4 : calcul de la valeur stockée dans la partie
Étape 4 : calculer la valeur stockée dans la partie exposant :
exposant. Tout d’abord, il faut le décalage. Pour cela, il - Décalage (exposant sur 5 bits) = 25-1 - 1 = 15.
faut regarder sur combien de bits est codée la partie - Ajout de l’exposant au décalage : 15 + (-2) = 13
exposant. Ici, elle est codée sur 5 bits, donc le décalage - Traduction en binaire sur 5 bits : (13)10 = (01101)2
vaut 25-1 - 1 = 15. Ensuite, on ajoute au décalage
1 0 1 1 0 1
l’exposant et on obtient la partie stockée dans la partie
exposant : 15+10 = 25.
Ensuite, on traduit en binaire sur 5 bits : (25)10 = (11001)2. Étape 5 : on reporte la mantisse sur 6 bits
0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0
Q7 : Donner la représentation en virgule flottante de (0,9375)10 sur 11 bits repartis de la manière suivante :
- 1 bit pour le signe ;
- 4 bits pour la partie exposant ;
- 6 bits pour la partie mantisse.
Q8 : Donner la représentation en virgule flottante de (- 3,625)10 sur 10 bits repartis de la manière suivante :
- 1 bit pour le signe ;
- 3 bits pour la partie exposant ;
- 6 bits pour la partie mantisse.
Hubert FOREY / Eric GALAND / Lycée Charles de Gaulle / : Page 5 sur 5 / : 704893455.docx
Valeurs particulières
Dans la norme IEEE 754, le zéro est stocké avec uniquement des 0 pour le signe, l’exposant et la mantisse
Q9 : Soit le nombre flottant au format simple précision : 0100 0100 0001 0100 0000 0000 0000 0000.
Quelle est la valeur de ce nombre dans la base 10 ?
Q10 : Déterminez la représentation au format simple précision d’un tiers (1/3) en binaire et en hexadécimal.