Codage:Le codage hexadécimal

Un article de WikiTuto.

(Redirigé depuis Base 16)
Jump to: navigation, search

Sommaire


Introduction

Un dernier type de codage, qui constitue une alternative pratique au codage Binaire. Il s’agit du codage hexadécimal, autrement dit en base seize.

Utilité

Pourquoi ce choix bizarre ? Tout d’abord, parce que le codage binaire, ce n’est tout de même pas très économique, ni très lisible. Pas très économique : pour représenter un nombre entre 1 et 256, il faut utiliser systématiquement huit chiffres. Pas très lisible : parce que d’interminables suites de 1 et de 0, on a déjà vu plus folichon.

Alors, une alternative toute naturelle, c’était de représenter l’octet non comme huit bits (ce que nous avons fait jusque là), mais comme deux paquets de 4 bits (les quatre de gauche, et les quatre de droite). Voyons voir cela de plus près.

Avec 4 bits, nous pouvons coder 2 x 2 x 2 x 2 = 16 nombres différents. En base seize, 16 nombres différents se représentent avec un seul chiffre (de même qu’en base 10, dix nombres se représentent avec un seul chiffre).

Représentation

Quels symboles choisir pour les chiffres ? Pour les dix premiers, on n’a pas été chercher bien loin : on a recyclé les dix chiffres de la Base décimale. Les dix premiers nombres de la base seize s’écrivent donc tout bêtement 0, 1, 2, 3, 4, 5, 6, 7, 8, et 9. Là, il nous manque encore 6 chiffres, pour représenter les nombres que nous écrivons en décimal 10, 11, 12, 13, 14, 15 et 16. Plutôt qu’inventer de nouveaux symboles (ce qu’on aurait très bien pu faire), on a recyclé les premières lettres de l’alphabet. Ainsi, par convention, A vaut 10, B vaut 11, etc. jusqu’à F qui vaut 15.

Conversion

Or, on s’aperçoit que cette base hexadécimale permet une représentation très simple des octets du binaire.

Prenons un octet au hasard :

1 0 0 1 1 1 1 0

Pour convertir ce nombre en hexadécimal, il y a deux méthodes : l’une consiste à faire un grand détour, en repassant par la Base décimale. C’est un peu plus long, mais on y arrive. L’autre méthode consiste à faire le voyage direct du Binaire vers l’hexadécimal. Avec l’habitude, c’est nettement plus rapide !

Première méthode

On retombe sur un raisonnement déjà abordé. Cet octet représente en base dix :

1 x 2x7 + 0 x 26 + 0 x 25 + 1 x 24 + 1 x 23 + 1 x 22 + 1 x 21 + 0 x 20 =
1 x 128 + 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 =
128 + 16 + 8 + 4 + 2 =158

De là, il faut repartir vers la base hexadécimale.

Dans 158, on trouve 9 x 16, c’est-à-dire 9 x 161. Je retranche 144 de 158 et j’obtiens 14.
Dans 14, on trouve 14 x 1, c’est-à-dire 14 x 160. On y est.
Le nombre s’écrit donc en hexadécimal : 9E

Deuxième méthode

Divisons 1 0 0 1 1 1 1 0 en 1 0 0 1 (partie gauche) et 1 1 1 0 (partie droite).

1 0 0 1, c’est 8 + 1, donc 9
1 1 1 0, c’est 8 + 4 + 2 donc 14

Le nombre s’écrit donc en hexadécimal : 9E. C’est la même conclusion qu’avec la première méthode. Encore heureux !

Le codage hexadécimal est très souvent utilisé quand on a besoin de représenter les octets individuellement, car dans ce codage, tout octet correspond à seulement deux signes.

Voir aussi


Source : Christophe Darmangeat

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire