Pourquoi l'hexadécimal ?
Fait partie de la section Fondamentaux du Journey Assembly de Coddy. Leçon 10 sur 45.
Vous savez maintenant que les ordinateurs utilisent le binaire. Alors, pourquoi les programmeurs en assembleur écrivent-ils rarement directement en binaire ?
Le problème du binaire :
Les nombres binaires sont très longs. Regardez cet exemple :
| Nombre | Binaire |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
Écrire de longues chaînes de 1 et de 0 est lent, source d’erreurs et difficile à lire.
La solution : l'hexadécimal (base 16).
L'hexadécimal (ou « hex ») utilise 16 symboles :
| Digit | Value |
|---|---|
| 0-9 | 0 to 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
Pourquoi hex est parfait pour les ordinateurs :
Un hex digit représente exactement 4 bits (la moitié d’un byte).
| bits | hex digits nécessaires |
|---|---|
| 4 bits (quartet) | 1 hex digit |
| 8 bits (1 byte) | 2 hex digits |
| 16 bits (2 bytes) | 4 hex digits |
| 32 bits (4 bytes) | 8 hex digits |
| 64 bits (8 bytes) | 16 hex digits |
Le même nombre, de trois façons :
| Décimal | Binaire | Hexadécimal |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
Remarquez à quel point l’hexadécimal est plus court que le binaire.
Où vous verrez hex en assembleur :
- Adresses mémoire (comme
0x7FFFou0x402000) - Codes ASCII (comme
0x41pour 'A',0x0apour un saut de ligne)
- Valeurs des registres dans les débogueurs
- Valeurs de couleur (comme
0xFF0000pour le rouge)
L’hexadécimal s’écrit avec un préfixe :
| Préfixe | Exemple | Signification |
|---|---|---|
0x | 0xFF | FF en hexadécimal (255 en décimal) |
$ | $FF | La même chose (utilisé dans certains assembleurs) |
h | FFh | La même chose (style plus ancien) |
Dans ce cours, nous utilisons le préfixe 0x : 0x0a, 0x41, 0xFF.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
1La Machine
Qu'est-ce qu'un CPULa mémoireRegistres vs MémoireFonctionnement des instructionsLe modèle à deux fichiersL'architecture x86-642Systèmes de numération
Pourquoi le binaire ?Nombres binairesDécimal vers binairePourquoi l'hexadécimal ?Hexadécimal vers décimalDécimal vers hexadécimalASCII & HexEntraînez-vous par vous-même : Playground Assembly