Exercice 1
Convertir -22(10) en binaire et 10011011(2) en décimal (Nombres en complément à 2)
Soit à convertir -22(10) en binaire (complément à 2)
Soit à convertir 10011011(2) en base 10(complément à 2 sur 8 bits)
Exercice 2
Convertir 117(10) en héxadécimal et 41(16) en décimal ainsi que 5C(16) en binaire.
Convertir 117(10) en héxadécimal.
117 Div 16 = 7 x 16 + 5 soit (112 +5 = 117) Donc 117(10) = 75(16)
Convertir 41(16) en décimal.
41(16) = (4 x 161 + 1 x 160)(10) = (64+1)(10) = 65(10)Convertir 5C(16) en binaire.
5C(16) se décompose en 2 quartets 5(16) et C(16) 5(16) = 0101(2) C(16) = 12(10) = 1010(2) Soit 5C(16) = 01011010(2)
Exercice 3
Décoder 0.10110000(2) en base 10.
0.10110000(2) = (2−1 + 2−3 + 2−4)(10) = (0.5 + 0.125 + 0.0625)(10) = (0, 6875)(10)
Exercice 4
Convertir 0,85(10) en format binaire 8 bits.
Convertir 0.11011001(2) en décimal.
Quelle remarque pouvez-vous faire ?
0,85 (10) = 0.11011001(2) En effet : 0.85 × 2 = 1.7 --> 1 0.7 × 2 = 1.4 --> 1 0.4 × 2 = 0.8 --> 0 0.8 × 2 = 1.6 --> 1 0.6 × 2 = 1.2 --> 1 0.2 × 2 = 0.4 --> 0 0.4 × 2 = 0.8 --> 0 0.8 × 2 = 1.6 --> 1 On a obtenu nos 8 bits mais le dernier résultat n'est pas à zéro....
0.11011001(2) = (2−1 +2−2 +2−4 +2−5 +2−8)(10) soit (0.5+0.25+0.0625+0.03125+0.00390625)(10) = (0,84765625)(10)
Les 2 valeurs binaires sont les mêmes !
Pourtant 0,85 n'est pas égal à 0, 84765625 (problème de précisions)
Exercice 5
Coder 40(10) au format IEEE 754 en simple précision.
Bit de signe : + --> 0 Représentation binaire de 40(10) --> 101000(2) (valeur absolue) Normalisation : 1.01000 × 25 soit 1.M × 25 (M : Matisse) Exposant réel (effectif) : 5 Exposant décalé (codage sur 8 bits) : (5 + 127)(10) = (132)(10 )= 10000100(2) Mantisse sur 23 bits soit M : 01000000000000000000000(2) Notre nombre devient donc : [0] [10000100] [01000000000000000000000](2) Soit 42200000(16) Soit 01000010001000000000000000000000(2) = 42200000(16)
Exercice 6
Coder 13,625(10) au format IEEE 754 en simple précision.
Exercice 7
Effectuer l'addition suivante C0880000(16) + 41680000(16) (format IEEE 754 en simple précision)
Conseil : Avant de procéder à l’addition on doit mettre le plus petit des deux nombres au même exposant que le plus grand, et vérifier les signes.
C(16)= 1010(2) donc nombre négatif. 4(16)= 0100(2) donc nombre positif. Un positif et un négatif : on devra faire une soustraction Exposant décalé de C0880000 = 100 0000 1 = (65)10 Exposant décalé de 41680000 = 100 0001 0 = (66)10 Le plus petit (valeur absolue) est donc : C0880000, on doit ajouter 1 = 10000010- 10000001 `a son exposant L’opération à effectuer est donc : 1.1101 - 0.10001 = 1.01001, le résultat est positif car 1.1101 > 0.10001, et l’exposant (décalé) est 100 0001 0 Ce qui donne 0100 0001 0010 0100 0000 0000 0000 0000 en binaire, soit 41 24 00 00 en hexadécimal.