Logo Elektronique

Conversion binaire-hexadécimal

icône imprimante Imprimer cette page

I/ Introduction sur la conversion binaire-hexadécimal

Le cours d'introduction au binaire et sur l'hexadécimal doit nécessairement être lu avant de lire ce cours-ci (principalement pour les débutants).

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 :

Retour en haut

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.

Retour en haut

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
    lorsque vous avez moins de 4 bits, alors vous rajoutez des zéros devant pour atteindre le nombre de 4 bits demandé.
  • Exemple 2 :
    • 10011011(binaire) = 1001 1011
    • 111001(binaire) = 0011 1001
    lorsque vous avez plus de 4 bits, alors vous mettez des espaces pour séparer tous les paquets de 4 bits (n'oubliez pas de rajouter des zéros si il le faut).
  • Exemple 3 :
    • 1110101110011011(binaire) = 1110 1011 1001 1011
    Comme pour l'exemple 2, il faut mettre des espaces pour faciliter la lecture et le calcul à venir.

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)
    Dans chacun des exemples ci dessus ce n'est pas trop dur, il vous suffit juste de consulter le tableau de conversion au début de ce cours.
  • Exemple 2 :
    • 10(binaire) = 0010(binaire) = 2(hexa)
    • 110(binaire) = 0110(binaire) = 6(hexa)
    N'oubliez pas de faire la première étape lorsqu'il n'y a moins de 4 bits.
  • Exemple 3 :
    • 1011 1001 0011(binaire) = B93(hexa)
      Explication :
      • 1011(binaire) = B(hexa)
      • 1001(binaire) = 9(hexa)
      • 0011(binaire) = 3(hexa)
    Cet exemple est l'un des cas les plus compliqué que l'ont puissent avoir, mais aussi le plus souvent rencontré. Il faut bien faire la conversion de chaque petit regroupement pour réussir son coup.

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)
    Les 2 exemples du haut sont les plus simples à convertir. Je ne pense pas que je puissent mettre de mot pour expliquer, car cela ne ferait que vous compliquer. Essayer de bien regarder comment il faut procéder.
  • 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)
    Avec ces cas il est plus facile d'expliquer. Si vous avez bien regardé vous verrez qu'il y a une chose primordiale qui compte pour faire ce calcul : l'emplacement des "1" dans le nombre en binaire.
    Pour le bit tout à droite vous devez lui attribuer 20 (ce qui correspond à 1).
  • 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)
    N'oubliez pas de multiplier par 0 si le bit est à zéro et par 1 si le bit est à un.
  • 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)
    Cet exemple vous permet de calculer avec des suites de bits plus grand. Cette suite de nombre plus grand vous permet aussi de remarquer qu'il faut toujours calculer par paquet de 4 bits, c'est important.

Vous êtes dorénavant prêt pour transformer un nombre binaire en hexadécimal.

Retour en haut

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)
    Pour résoudre vous aussi ces exemples, utilisez le tableau que j'ai fournis en tout début de ce cours.
  • 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)
    Ces exemples ci dessus ne sont pas plus compliquez non plus. La méthode à faire est de convertir un bit à chaque fois.
  • 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)
    Avec la méthode que je vous ai donné vous pouvez convertir très facilement des valeurs hexadécimal vers le binaire.
Retour en haut