Conversion binaire-hexadécimal
I/ Introduction sur la conversion binaire-hexadécimal
Ce cours va expliquer que les nombres en binaire peuvent être convertit en hexadécimal et l'inverse est réciproque. Cette conversion est très pratique, surtout pour la programmation en informatique lorsque l'ont doit traiter de longue suites de nombre en binaire.
C'est en effet plus simple de retenir "3Ahexa" que de mémoriser "0011 1010binaire".
Ce cours est divisé en deux chapitres :
II/ Tableau de conversion binaire-hexadécimal
La conversion du binaire en hexadécimal n'est pas trop difficile, je vais essayer de l'expliquer facilement.
Dans un premier temps je vais vous donner le tableau de toutes les différentes conversions. Ne vous inquiétez pas, il n'est pas si grand :
Binaire | hexadécimal |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
Comme vous pouvez le voir, nous prenont des regroupements de 4 chiffres binaire, ne l'oubliez pas.
III/ Convertir du binaire en hexadécimal
A l'aide du tableau précédent, il est beaucoup plus facile de faire une conversion binaire vers décimal. Je vais vous en décomposer les principales étapes.
Première étape : prendre des paquets de 4 bits
Cette première étape est toute facile, il suffit juste de toujours prendre des regroupements de 4 bits. Voici des exemples concret pour bien vous expliquer ce que cela signifit :
- Exemple 1 :
- 1(binaire) = 0001
- 101(binaire) = 0101
- Exemple 2 :
- 10011011(binaire) = 1001 1011
- 111001(binaire) = 0011 1001
- Exemple 3 :
- 1110101110011011(binaire) = 1110 1011 1001 1011
Deuxième étape (méthode facile) : se reporter au tableau de conversion binaire-hexadécimal
La deuxième étape est presque aussi facile que la première. Il suffit de prendre chaque regroupement de 4 bits et de faire la correspondance entre le binaire et le décimale.
Encore une fois je vais vous faire des exemples pour que vous compreniez bien :
- Exemple 1 :
- 0001(binaire) = 1(hexa)
- 0110(binaire) = 6(hexa)
- 1011(binaire) = B(hexa)
- Exemple 2 :
- 10(binaire) = 0010(binaire) = 2(hexa)
- 110(binaire) = 0110(binaire) = 6(hexa)
- Exemple 3 :
- 1011 1001 0011(binaire) = B93(hexa)
Explication :- 1011(binaire) = B(hexa)
- 1001(binaire) = 9(hexa)
- 0011(binaire) = 3(hexa)
- 1011 1001 0011(binaire) = B93(hexa)
Deuxième étape (méthode difficile) : cas général
Dans la méthode facile de la deuxième étape je vous ai expliqué comment convertir du binaire à l'hexadécimal à partir de mon tableau, mais vous devez savoir le faire sans avoir de tableau devant les yeux.
Il existe donc une manière générale que je vais vous expliquer.
Pour retrouver le tableau il faut d'abord convertir en décimal puis il suffit de faire une conversion de décimal à hexadécimal. Ci dessous je vous fournis un exemple qui sert par la même occasion d'explication :
- Exemple 1 :
- 0(binaire) = 0x20 = 0x1 = 0(décimal) = 0(hexadécimal)
- 1(binaire) = 1x20 = 1x1 = 1(décimal) = 0(hexa)
- Exemple 2 :
- 0011(binaire) = 11(binaire)
0011(binaire) = 1x21 + 1x20
0011(binaire) = 1x2 + 1x1
0011(binaire) = 2 + 1 = 3(décimal) = 3(hexa) - 1111(binaire) = 1111(binaire)
1111(binaire) = 1x23 + 1x22 + 1x21 + 1x20
1111(binaire) = 1x8 + 1x4 + 1x2 + 1x1
1111(binaire) = 8 + 4 + 2 + 1 = 15(décimal) = F(hexa)
Pour le bit tout à droite vous devez lui attribuer 20 (ce qui correspond à 1). - 0011(binaire) = 11(binaire)
- Exemple 3 :
- 1001(binaire) = 1001(binaire)
1001(binaire) = 1x23 + 0x22 + 0x21 + 1x20
1001(binaire) = 1x8 + 0x4 + 0x2 + 1x1
1001(binaire) = 8 + 0 + 0 + 1 = 9(hexa)
- 1001(binaire) = 1001(binaire)
- Exemple 4 :
- 1001 1011(binaire) = calcul de 1001 en décimal puis calcul de 1011 en décimal
1001 1011(binaire) = 1x23 + 0x22 + 0x21 + 1x20 puis 1x23 + 0x22 + 1x21 + 1x20
1001 1011(binaire) = 1x8 + 1x1 puis 1x8 + 1x2 + 1x1
1001 1011(binaire) = 8 + 1 puis 8 + 2 + 1
1001 1011(binaire) = 9 puis 11
1001 1011(binaire) = 9(décimal) puis B(décimal) = 9B(hexa)
- 1001 1011(binaire) = calcul de 1001 en décimal puis calcul de 1011 en décimal
Vous êtes dorénavant prêt pour transformer un nombre binaire en hexadécimal.
IV/ Convertir l'hexadécimal en binaire
Pour convertir de l'hexadécimal vers le binaire c'est plus compliqué.
Pour faire une conversion facile vous pouvez convertir facilement en utilisant le tableau de conversion binaire-hexadécimal. Voici des exemple calculé facilement à l'aide du tableau :
- Exemple 1 :
- 1(hexa) = 0001(binaire)
- 6(hexa) = 0110(binaire)
- B(hexa) = 1011(binaire)
- Exemple 2 :
- AB(hexa) : A=1010 et B=1011 donc :
AB(hexa) = 1010 1011(binaire) - 11(hexa) = 0001 0001(binaire)
- 80(hexa) = 1000 0000(binaire)
- FF(hexa) = 1111 1111(binaire)
- AB(hexa) : A=1010 et B=1011 donc :
- Exemple 3 :
- B931(hexa) = 1011 1001 0011 0001(binaire)
Explication :- B(hexa) = 1011(binaire)
- 9(hexa) = 1001(binaire)
- 3(hexa) = 0011(binaire)
- 1(hexa) = 0001(binaire)
- B931(hexa) = 1011 1001 0011 0001(binaire)