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

