Transcodages (suite)
Le binaire est indispensable en informatique pour les niveaux logiques électroniques, mais écrire des programmes uniquement en binaire deviendrait très vite incompréhensible par le programmeur et surtout impossible à écrire. C'est pour cette raison que l'on utilise plus fréquemment le système hexadécimal. Avant de passer à la conversion, définissons l'hexadécimal. Comme le binaire, qui correspond à la base 2, l'hexadécimal correspond à la base 16. Il comprends donc 16 symboles de référence : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F. Ces 16 symboles sont tous dans la colonne 160
Tableau de conversion : le tableau suivant permet de connaitre la valeur décimale et la valeur binaire de la donnée hexadécimale.
Valeur hexadécimale | Valeur décimale | Valeur binaire | |||
160 | 100 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
2 | 2 | 0 | 0 | 1 | 0 |
3 | 3 | 0 | 0 | 1 | 1 |
4 | 4 | 0 | 1 | 0 | 0 |
5 | 5 | 0 | 1 | 0 | 1 |
6 | 6 | 0 | 1 | 1 | 0 |
7 | 7 | 0 | 1 | 1 | 1 |
8 | 8 | 1 | 0 | 0 | 0 |
9 | 9 | 1 | 0 | 0 | 1 |
A | 10 | 1 | 0 | 1 | 0 |
B | 11 | 1 | 0 | 1 | 1 |
C | 12 | 1 | 1 | 0 | 0 |
D | 13 | 1 | 1 | 0 | 1 |
E | 14 | 1 | 1 | 1 | 0 |
F | 15 | 1 | 1 | 1 | 1 |
Dans le tableau on voit que C vaut 12 en décimal et 1100 en binaire. En effet 23 * 1 + 22 * 1 + 21 * 0 + 20 * 0 = 8 + 4 = 12 et 12 en hexa est représenté par le C On remarque qu'un caractère hexadécimal correspond à un groupe de 4 caractères (de 4 bits) en binaire. Il va donc etre asser simple de convertir de l'hexadécimal en binaire et inversement du binaire en héxadécimal.
De l'hexadécimal au binaire : Pour travailler simplement et rapidement on utilise un tableau de conversion. Exemple : convertissons AC3 16 en binaire.
Poids hexadécimal | 162 | 161 | 160 | ||||||||||||||||||||
Poids binaire | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | |||||||||||
décimal | 8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | |||||||||||
mot hexadécimal | A | C | 3 | ||||||||||||||||||||
mot binaire | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
Résultat : En conclusion , on lit le mot binaire directement dans le tableau. Donc AC3 16 vaut 101011000011 2. Pour expliquer un peu : A vaut 10 en décimal donc on place 1 dans la colonne correspondante pour écrire 10 en binaire sur les 4 premières cases, qui correspondent au poid fort du mot hexadécimal. On place donc 1 en 8 et 1 en 2 dans la partie 162 pour faire 10 soit 1010 (2) C vaut 12 donc on code 12 en binaire dans les 4 colonnes des 4 bits suivants donc 1100 et enfin 3 en binaire sur 4 bits soit 0011.
En application : convertir en binaire FA18 16 et 357 16
Du binaire à l'hexadécimal : On utilise le même tableau de conversion que l'on remplit dans la partie binaire. On fait des paquets de 4 bits et on traduit chaque paquet en hexadécimal. Exemple : convertissons 1010101010101 2 en hexadécimal. Remarque : si il manque des valeurs dans les cases de gauche pour obtenir un paquet de 4 bits, on complète avec des zéros avant de traduire en hexadécimal.
Poids hexadécimal | 163 | 162 | 161 | 160 | |||||||||||||||||||||||||||
Poids binaire | 215 | 214 | 213 | 212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | |||||||||||||||
décimal | 8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | |||||||||||||||
mot hexadécimal | 1 | 5 | 5 | 5 | |||||||||||||||||||||||||||
mot binaire | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
Résultat : En conclusion , on lit le mot hexadécimal directement dans le tableau. Donc 1010101010101 2 vaut 1555(16). Les explications et conversions sont facilement lisibles en décimal : dans le deuxième digit hexadécimal, par exemple 0101(2) correspond à 5 en décimal donc à 5 en hexadécimal.
En application : convertir en hexadécimal 11100011 2 et 1001010101 2 Vous pourrez également faire les applications du pdf ci dessous en vous aidant du tableau joint