Exercice 1 : Conversion
- Convertir les nombres binaires (11010111)2 et (1101101)2 en décimal.
- Convertir (50)10 et (173)10 en binaire.
- Convertir (1110010100101011)2 et (1110101001111001101)2 en hexadécimal.
- Convertir (12A5)16, (CF9E)16, et (8372)16 en binaire.
Correction
- 1. (11010111)2 = 215 en décimal et (1101101)2 = 109 en décimal.
Explication : On convertit chaque bit en puissance de 2 et on additionne. - 2. (50)10 = 110010 en binaire et (173)10 = 10101101 en binaire.
Explication : Conversion par division successive par 2. - 3. (1110010100101011)2 = E4AB en hexadécimal et (1110101001111001101)2 = 1D4F9 en hexadécimal.
Explication : On divise en groupes de 4 bits et on convertit chaque groupe. - 4. (12A5)16 = 0001 0010 1010 0101 en binaire, (CF9E)16 = 1100 1111 1001 1110 en binaire, (8372)16 = 1000 0011 0111 0010 en binaire.
Explication : Conversion directe en binaire en transformant chaque chiffre hexadécimal en 4 bits binaires.
Exercice 2 : Nombres signés
- Convertir les nombres binaires signés (010111)2 et (101101)2 en décimal.
- Calculer le complément à deux du nombre (13)10.
- Calculer le complément à deux du nombre (32)10.
- Calculer le complément à deux du nombre (27)10.
- Représenter en système binaire le nombre (-35)10.
- Représenter en système binaire le nombre (-48)10.
- Représenter en système binaire le nombre (-74)10.
Correction
-
1. (010111)2 = +23 et (101101)2 = -11.
Explication : Le premier bit indique le signe (0 pour positif, 1 pour négatif). Pour les nombres négatifs, on utilise le complément à deux pour obtenir la valeur décimale. -
2. Complément à deux de (13)10 = 11110011.
Explication : Pour obtenir le complément à deux, on représente le nombre en binaire (00001101), on inverse les bits (11110010), puis on ajoute 1, ce qui donne 11110011. -
3. Complément à deux de (32)10 = 11100000.
Explication : On convertit d’abord 32 en binaire (00100000), on inverse les bits (11011111), puis on ajoute 1, obtenant ainsi 11100000. -
4. Complément à deux de (27)10 = 11100101.
Explication : La conversion de 27 en binaire donne 00011011. On inverse les bits pour obtenir 11100100, puis on ajoute 1, ce qui donne 11100101. -
5. (-35)10 = 11011101 en complément à deux.
Explication : On convertit 35 en binaire (00100011), on inverse les bits (11011100), puis on ajoute 1, ce qui donne 11011101. -
6. (-48)10 = 11010000 en complément à deux.
Explication : La représentation binaire de 48 est 00110000. En inversant les bits, on obtient 11001111, et en ajoutant 1, on a 11010000. -
7. (-74)10 = 10110110 en complément à deux.
Explication : La conversion de 74 en binaire donne 01001010. On inverse les bits pour obtenir 10110101, puis on ajoute 1, obtenant ainsi 10110110.
Exercice 3 : Nombres à virgule fixe
- Convertir les nombres binaires non signés à virgule fixe (1101,101)2 et (1011,01)2 en décimal.
- Convertir les nombres binaires signés à virgule fixe (1001,011)2 et (0111,11)2 en décimal.
- Convertir les nombres (17,3) et (25,74) en système binaire non signé à virgule fixe (4 bits après la virgule).
- Convertir les nombres (-12,1) et (9,7) en système binaire signé à virgule fixe (4 bits après la virgule).
Correction
- 1. (1101,101)2 = 13.625 en décimal, (1011,01)2 = 11.25 en décimal.
- 2. (1001,011)2 = -6.375 en décimal, (0111,11)2 = 3.75 en décimal.
- 3. (17,3) en binaire non signé à virgule fixe = 10001.0100, (25,74) = 11001.1011.
- 4. (-12,1) en binaire signé à virgule fixe = 111101.1000, (9,7) = 1001.0111.
Exercice 4 : Nombres à virgule flottante
- Coder les réels suivants selon la norme IEEE 754 (32 bits) : 9 , -1.5 , 3.14 , -6.625.
- Convertir en décimal, les nombres hexadécimaux réels donnés sous format IEEE 754 (32 bits) : 42E48000 , 3F880000 , C7F00000.
Correction
- 1. Codage IEEE 754 :
- 9 = 0x41100000
- -1.5 = 0xBF800000
- 3.14 = 0x4048F5C3
- -6.625 = 0xC0D40000
- 2. Conversion en décimal :
- 42E48000 = 45.25
- 3F880000 = 1.0625
- C7F00000 = -120960