Hexadécimal

La numération hexadécimale ajoute, pour identification, le préfixe neural '0x' à un nombre. La valeur 0x10AA, par exemple, devient 4 266 quand on la traduit en langage décimal.

Dans la table ci-dessous on voit la signification des chiffres inclus dans l'expression décimale 27 953, selon son rang dans la composition de cette même expression.

10 000 1 000 100 10 1
104 103 102 101 100
2 7 9 5 3

Donc, le nombre 27 953 n'est, en réalité, qu'une présentation simplifiée de l'expression originale ci-dessous.

2 x 104 + 7 x 103 + 9 x 102 + 5 x 101 + 3 x 100

Les symboles utilisés dans le monde décimal sont: 1,2,3,4,5,6,7,9 et 0. La suite contient, au total, dix caractères.

La base hexadécimale en compte 16: 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F et 0.

Les chiffres A,B,C,D,E et F (a,b,c,d,e,f) représentent respectivement les nombres décimaux: 10,11,12,13,14 et 15.

Le nombre 0x123 est égal à: 1 x 162 + 2 x 161 + 3 x 160.

Le nombre 0xabc est égal à: 10 x 162 + 11 x 161 + 12 x 160.

Le nombre 0xe5f est égal à: 14 x 162 + 5 x 161 + 15 x 160.

La table ci-dessous montre la décortication de la valeur 0x10AA.

4 096 256 16 1
163 162 161 160
1 0 A A

Convertissons le 0x10AA en décimal.

1 x 163 + 0 x 162 + A x 161 + A x 160

= 1 x 4 096 + 0 x 256 + 10 x 16 + 10 x 1

= 4 096 + 0 + 160 + 10

= 4 266

Exemples:

Exemple 1

- Le nombre 0x64 à convertir en décimal:

Rang 256 16 1
Puissance 162 161 160
Nombre 0 6 4

Le résultat est:

6 x 16 + 4 x 1

= 96 + 4

= 100

Exemple 2

- Soit 0x100 un nombre à décimaliser.

Rang 256 16 1
Puissance 162 161 160
Nombre 1 0 0

C'est: 1 x 256 = 256

Exemple 3

- 0x41f à convertir en décimal:

Rang 256 16 1
Puissance 162 161 160
Nombre 4 1 f

Le résultat final:

4 x 256 + 1 x 16 + 15 x 1

= 1024 + 16 + 15

= 1055

Il est temps de prendre la voie opposée (le sens inverse, déterminer l'hexadécimal à partir d'un décimal).

1- Soit 1 055 un nombre décimal.

Ce décimal se situe entre 162 et 163.

163 est supérieur à 1 055. Sa récompense est d'être négligé.

Mon 1 055 contient 4 fois 162 plus 31.

Ce 31 couvrira la colonne 161. Il contient 1 fois 16. Le reste est, donc, f.

Que dois-je faire avec ce résidu f (inférieur à 16)? Je le place, tout simplement, au rang des unités.

Mon hex s'écrit donc: 4 x 162 + 1 x 161 + f x 160

= 0x41f, comme étalé ci-dessous.

Rang 256 16 1
Puissance 162 161 160
Nombre 4 1 f

2- Convertir le décimal 255 en hex:

Le nombre 255 se situe entre 162 et 61.

255 contient f fois 16 est une fois f.

= f x 161 + f x 160

= 0xff

Rang 256 16 1
Puissance 162 161 160
Nombre 0 f f