Puisque les notations de nombres binaires, octaux, hexadécimaux ou décimaux font appel à des chiffres qui sont tous tirés du même ensemble, il y a un risque d’ambiguïté si on ne connaît pas la base utilisée. Par exemple 11 peut soit s’interpréter comme onze (si on suppose la base 10) ou comme trois (si on suppose la base 2). À moins que le contexte ne soit absolument clair, il vaut mieux être explicite pour éviter de telles ambiguïtés. C’est pourquoi on dénote souvent explicitement la base; par exemple, (11)2 pour le nombre trois en binaire qui pourra être distingué de (11)10, le nombre onze en décimal.
En comparant un nombre décimal et sa représentation binaire, comme par exemple ici 37 et 100101, on voit bien que la représentation binaire est nettement plus encombrante. On utilise souvent des notations plus compactes mais qui conservent un lien direct avec la représentation binaire: la représentation octale et la représentation hexadécimale.
La représentation octale consiste à utiliser la base 8, avec les chiffres $0, 1, \ldots, 7$. On voit la correspondance entre les nombres en binaire et les chiffres de la représentation octale dans le tableau 3.
Binaire | Octal |
---|---|
000 | 0 |
001 | 1 |
010 | 2 |
011 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
Pour convertir un nombre binaire en nombre octal, il suffit de regrouper les bits par groupes de trois bits, en partant de la droite (bit le moins significatif), et de remplacer chaque groupe par le chiffre en base 8 correspondant.
Par exemple, pour (1010011110001)2, on aura le découpage du tableau 4.
1 | 010 | 011 | 110 | 001 |
1 | 2 | 3 | 6 | 1 |
On obtient le nombre octal (12361)8.
La représentation hexadécimale consiste à utiliser la base 16, avec les chiffres $0, 1, \ldots, 9$, auxquels on ajoute les lettres A, B, C, D, E et F pour représenter les valeurs de dix à quinze respectivement1. On voit la correspondance entre les nombres en binaire et les chiffres de la représentation hexadécimale dans le tableau 5.
Binaire | Hexadécimal |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
Pour convertir un nombre binaire en nombre hexadécimal, il suffit de regrouper les bits par groupes de quatre bits, en partant de la droite (bit le moins significatif), et de remplacer chaque groupe par le chiffre en base 16 correspondant.
Par exemple pour, (1010011110001)2, on aura le découpage du tableau 6.
1 | 0100 | 1111 | 0001 |
1 | 4 | F | 1 |
On obtient le nombre hexadécimal (14F1)16.
La conversion de octal (respectivement, hexadécimal) à binaire se fait simplement en remplaçant chaque chiffre octal (resp., hexadécimal) par le groupe de trois (resp., quatre) bits correspondant, en partant du moins significatif.
1 Pour simplifier, dans le contexte, on appellera ici ces cinq lettres des chiffres de la notation hexadécimale.