hexadecimal

Un peu d'histoire

Le système hexadécimal est utilisé notamment en électronique numérique et en informatique car il est particulièrement commode et permet un compromis entre le code binaire des machines et une base de numération pratique à utiliser pour les ingénieurs. En effet, chaque chiffre hexadécimal correspond exactement à quatre chiffres binaires (ou bits), rendant les conversions très simples et fournissant une écriture plus compacte. L'hexadécimal a été utilisé la première fois en 1956 par les ingénieurs de l'ordinateur Bendix G-15.

Ecriture en base 16

Le principe générale est le même que pour l'encodage en base 10 ou base 2.

Pour écrire un nombre en base 16, il faut disposer d'un caractère pour chacun des entiers de 0 à 15. Or, on ne dispose pas d'assez de chiffres pour écrire les 16 valeurs de la base 16. On complète donc les chiffres de 0 à 9 par les six premières lettres de l'alphabet : A, B, C, D, E, F.

Base (10) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Base (16) 0 1 2 3 4 5 6 7 8 9 A B C D E F

$16_{10}=1\times16^1+0\times16^{0}=10_{16}$

$A_{16}=10\times 16^{0}=10_{10}$

$A1_{16}=10\times16^{1}+1\times 16^{0}=161_{10}$

$25_{10}=16+9=1\times 16^{1}+9\times 16^{0}=19_{16}$

$A9C3F2=10 \times 16^{5}+9\times 16^{4}+12\times 16^{3}+3\times 16^{2}+15\times 16^{1}+2\times 16^{0}=11125746_{10}$

$165469_{10}=2865D_{16}$

Conversion base 16 en base 10

Convertir:
5A(16) en base 10
FF(16) en base 10

Conversion base 10 en base 16

L'algorithme de conversion de la base 10 à la base 16 est très proche de celui de la conversion de décimal à binaire. Prenons un exemple :

  • $5869=366\times 16 +13$ reste = 13
  • $366=22\times 16+14$ reste = 14
  • $22=1\times 16 +6$ reste = 6
  • $6=0\times 16 +6$ reste 1
  • Le quotient est nul, l'algorithme s'arrête.

L'écriture binaire de $5869_{10}$ est donc $16ED_{16}$

Convertir:
255(10) en base 16
15(10) en base 16

binaire et hexadécimal

Historiquement, c'est la conversion binaire/hexadécimal qui a été utilisé.

Sur 4 bit on peut écrire les nombres de 0 à 15. Avec 4 bit on peut, par conséquent, coder toutes les possibilités en base 16.

Le passage d'un bloc de 4 bit au suivant se fait par la multiplication par 16.

  1. $100011001110_{2}=1000\textrm{ }1100\textrm{ }1110=8_{10}\textrm{ }12_{10}\textrm{ }14_{10}=8CE_{16}$
  2. $A2F3_{16}=10_{10}\textrm{ }2_{10}\textrm{ }15_{10}\textrm{ }3_{10}=1010_{2}\textrm{ }0010_{2}\textrm{ }1111_{2}\textrm{ }0011_{2}=1010001011110011_{2}$
  1. Convertir les nombres $110010010001_{2}$ et $1001001110_{2}$ en base 16.
  2. Convertir les nombres $FA91_{16}$ et $1CC_{16}$ en binaire.