Codage de l'information

Le processeur d'un ordinateur personnel d'aujourd'hui est capable de manipuler des nombres binaires sur 64 bits, et les cartes graphiques peuvent manipuler des nombres binaires allant jusqu'à 256 bits. Le plus grand nombre binaire sur 64 bits s'écrit: 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111.

Pour des raisons de commodité de lecture et d'écriture des nombres, les informaticiens ont inventés l'hexadécimal. C'est un système de numération qui utilise 16 symboles: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Bien que très utile dans la programmation en assembleur, qui est le langage le plus proche de la machine, l'hexadécimal a une utilisation plus modérée en programmation, notamment grâce aux compilateurs modernes. On le rencontre encore dans quelques cas en informatique:

  • Pour définir les couleurs d'une page web.
  • Pour représenter l'adresse physique (MAC) d'une carte réseau d'un ordinateur.
  • Pour repérer une position, dans la mémoire de l'ordinateur, où il y a eu un problème.


Si on utilise un nombre à trois chiffres hexadécimaux pour compter, en omettant certaines parties (lignes contenant des pointillés) qui peuvent être retrouver par la logique du comptage, cela donne:

hexadécimaldécimal
0000
0011
0022
0033
0044
0055
0066
0077
0088
0099
00A10
00B11
00C12
00D13
00E14
00F15
01016
01117
01218
01319
01420
01521
01622
01723
01824
01925
01A26
01B27
01C28
01D29
01E30
01F31
02032
02133
............
0FF255
100256
101257
............
1FF511
200512
201513
............
FFD4 093
FFE4 094
FFF4 095

Première remarque: 1010 = A16, 1110 = B16, 1210 = C16, 1310 = D16, 1410 = E16, 1510 = F16 (le 10 en indice signifie que le nombre est en base 10, le 16 en indice signifie que le nombre est en base 16).

Deuxième remarque:

On peut continuer indéfiniment, les chiffres hexadécimaux qui composent le nombre correspondent, en décimal, à des puissances de 16. On en déduit une formule mathématique pour décoder un nombre en base 16, c'est à dire le convertir en décimal:

dn ... d1 d016 = (d0 × 160 + d1 × 161 + ... + dn × 16n)10

Exemples:

Exercices de décodage de l'hexadécimal:

Décodez les nombres en base 16 suivants:

Complétez le tableau ci-dessous en comptant, à partir de 0 et en tenant compte des parties omises (lignes contenant des pointillés), avec un nombre à 5 chiffres et en base 16:

hexadécimaldécimal
... ... ... ... ... ...
0 0 0 1 1 17
... ... ... ... ... ...
0 0 0 2 F
... ... ... ... ... ...
0 0 1 9 D
... ... ... ... ... ...
C 9 F F B
... ... ... ... ... ...
D F F F E
... ... ... ... ... ...
F F F F F

Ajoutez, si besoin, un commentaire:

Codage en hexadécimal

Pour le codage en hexadécimal on utilise, comme pour le codage en binaire, la méthode de la division Euclidienne, ou celle de la décomposition sur des puissances de 16.

Les deux méthodes pour le codage en hexadécimal étant identiques à celles pour le codage en binaire, elles sont présentées uniquement avec un exemple qui illustre leur utilisation.



Codes des couleurs en hexadécimal pour le HTML

Méthode de la division Euclidienne:

Codage en hexadécimal de 183 03810:
183 038 16
14 11 439 16
15 714 16
10 44 16
12 2

Comme 1210 = C16, 1010 = A16, 1510 = F16, et 1410 = E16. Donc 183 03810 = 2 CA FE16.

Explications:

En utilisant la calculatrice:

Méthode de la décomposition sur des puissances de 16:

Codage en hexadécimal de 901 67810:

La puissance de 16 qui est inférieur à 901 67810 et qui s'en approche le plus est 164 = 65 536.

164 = 65 536163 = 4 096162 = 256161 = 16160 = 1
Codage en hexadécimal:13122214
Reste:497105584614

Comme 1310 = D16, 1210 = C16, et 1410 = E16. Donc 901 67810 = D C2 2E16.

Explications:

En utilisant la calculatrice:

Exercices de codage en hexadécimal:

Coder en hexadécimal, avec la méthode de la division Euclidienne, les nombres décimaux ci-dessous:

Coder en hexadécimal, avec la méthode de la décomposition sur des puissances de 16, les nombres décimaux ci-dessous:

Transcodage

Pour programmer un processeur, il faut utiliser des codes binaires qui correspondent à des instructions élémentaires. Il existe principalement deux types de jeux d'instruction dans les processeurs: CISC et RISC.

Les jeux d'instruction CISC (Complex Instruction Set Computeur) correspondent aux processeurs de nos ordinateurs, qui ont un vaste nombre d'instruction permettant d'effectuer un grand nombre de taches. Les jeux d'instruction RISC (Reduced Instruction Set Computer) correspondent aux processeurs de nos téléphones portables, qui, dans le contexte d'un matériel portable, ont un petit nombre d'instruction.



Pour comprendre comment on transcode un nombre, du binaire vers l'hexadécimal ou de l'hexadécimal vers le binaire, nous allons compter en décimal, binaire et hexadécimal de 0 à 15:

décimalbinairehexadécimal
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F

On remarque que le plus grand nombre avec quatre chiffres binaires, 11112, correspond au plus grand nombre à un chiffre hexadécimal, qui est F16.

Définitions:

On appelle un paquet de quatre chiffres binaires un "quartet", ou un "nibble" en anglais.

Transcodage binaire vers hexadécimal

Pour transcoder un nombre binaire en hexadécimal, il faut le décomposer en quartets, en partant du chiffre binaire le plus à droite et en allant vers la gauche, et associer à chacun d'eux le chiffre hexadécimal qui correspond.

Exemple:

On va transcoder en hexadécimal 10 1011 1101 1001 00112:

Quartets:101011110110010011
Chiffres en décimal:2111393
Chiffres en hexadécimal:2BD93

Donc 10 1011 1101 1001 00112 = 2 BD 9316.

Transcodage hexadécimal vers binaire

Pour transcoder un nombre hexadécimal en binaire, il faut associer à chaque chiffre du nombre le quartet qui correspond.

Exemple:

On va transcoder en binaire 4 C8 1E16:

Chiffres en hexadécimal:4C81E
Chiffres en décimal:4128114
Quartets:1001100100000011110

Donc 4 C8 1E16 = 100 1100 1000 0001 11102.

Exercices sur le transcodage:

Jeux en ligne

Vous pouvez tester vos connaissances avec les jeux en ligne suivants:

(cc) j. ahmad - Education Nationale - 2020