Entiers positifs en binaire et hexadécimal
Une machine ne distingue que deux états : le courant passe, ou il ne passe pas. On code donc les entiers avec deux symboles, 0 et 1. Le binaire est cette écriture. L'hexadécimal, seize symboles, sert surtout à la raccourcir : un chiffre hexadécimal remplace exactement quatre bits. Avant de convertir, il faut voir ce qu'est une base.
Une base, des colonnes
Dans une base , on dispose de symboles, et chaque colonne vaut une puissance de . En décimal, base 10, les symboles vont de 0 à 9.
Le 1 pèse cent, le 5 pèse dix, le 4 pèse un. En binaire, base 2, les symboles sont 0 et 1, et les colonnes valent
Un chiffre binaire s'appelle un bit. Huit bits forment un octet. On écrit la base en indice dès qu'elle n'est pas évidente : n'est pas mille cent un.
Du binaire vers le décimal
On additionne les puissances de 2 là où le bit vaut 1. Les zéros ne pèsent rien.
| 1 | 1 | 0 | 1 |
La colonne de droite est toujours . On lit les poids de droite à gauche en les doublant.
Du décimal vers le binaire
Deux méthodes arrivent au même endroit. La première, les divisions successives par 2, est la plus mécanique. On note le reste à chaque étape, et on lit les restes du dernier vers le premier.
Exemple :
29 ÷ 2 = 14 reste 1
14 ÷ 2 = 7 reste 0
7 ÷ 2 = 3 reste 1
3 ÷ 2 = 1 reste 1
1 ÷ 2 = 0 reste 1
Le dernier reste est le bit de poids fort. Résultat : . On vérifie en revenant au décimal : . Lire les restes dans l'ordre où on les a calculés, de haut en bas, donne le miroir du nombre. C'est l'erreur la plus fréquente du chapitre.
L'autre méthode pose les puissances de 2. On cherche le plus grand inférieur ou égal au nombre, on met un 1 dans cette colonne, on soustrait, et on recommence. Pour : tient, ne tient pas dans le reste 10, tient, ne tient pas dans le reste 2, tient, ne tient plus.
Vérification : .
L'hexadécimal, quatre bits d'un coup
La base 16 utilise les symboles . A vaut 10, F vaut 15. Comme , chaque chiffre hexadécimal correspond à un paquet de quatre bits.
| Déc. | Hex | Binaire (4 bits) |
|---|---|---|
| 0 | 0 | 0000 |
| 10 | A | 1010 |
| 15 | F | 1111 |
On regroupe donc le binaire par paquets de quatre, en partant de la droite, et on traduit chaque paquet.
Dans l'autre sens, du décimal vers l'hexadécimal, ce sont des divisions successives par 16, et on lit encore les restes de bas en haut. reste , qu'on écrit F. Puis reste , encore F. D'où .
En résumé, une base a symboles, et la valeur d'une écriture est la somme des chiffres multipliés par les puissances de . En binaire, les colonnes doublent. Du décimal vers le binaire, on divise par 2 et on lit les restes du dernier au premier. Un chiffre hexadécimal vaut quatre bits, et F vaut . Un octet, ce sont huit bits. On indique la base dès qu'un lecteur pourrait se tromper.
