next up previous contents
Next: Fichiers. Up: Les bases Previous: Les bases   Tables des matières  


3.1 Bases binaire, octale, décimale et hexadécimale.

Nous avons tous appris à compter sur nos dix doigts. [Le terme ``digit'' veut dire ``doigt'' en latin]. La plupart des nombres que nous rencontrons sont représentés à l'aide de la base 10. Les codes postaux anglais utilisent des lettres et des chiffres de manière à être représentés en base 36 (26 lettres et 10 chiffres). La base la plus simple est la base 2 qui ne connaît que les chiffres 0 et 1. Un numéro de téléphone constitué de 7 chiffres permet
$\underbrace{10\,\times\,10\,\times\,10\,\times\,10\,\times\,10\,\times\,10\,\times\,10}_{7\, chiffres\,(base\,10)}=10^{7}$combinaisons. Un code postal à 4 caractères en base 36 permet $36^{4}$combinaisons tandis qu'un nombre binaire de 8 chiffres n'autorise que $2^{8}$ ou 256 combinaisons.

Etant donné que les ordinateurs fonctionnent en base 2 et qu'il est fastidieux de faire des conversions base 2 $\leftrightarrow$ base 10, les informaticiens en sont venus à utiliser les bases 8 (octale) et 16 (hexadécimale). Les nombres hexadécimaux contiennent des chiffres de 0 à 9 et des lettres de A à F. Le terme hexadécimal est souvent réduit à hex. La base octale n'utilise que des chiffres de 0 à 7.

Considérez un nombre binaire à 4 chiffres (4 digits): il y a $2^{4}$ = 16 combinaisons possibles. En base hexadécimale, il n'y a qu'une combinaison pour ce même nombre. Par ailleurs, un nombre binaire à 3 chiffres ($2^{3}$ = 8) ne présente plus qu'une combinaison en base octale. Comme indiqué dans les tableaux 1 et 2, un nombre binaire peut être représenté en octal ou hex de manière simple.


Tableau 1: Représentation binaire et octale.
Binaire Octale
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

Un nombre binaire comme 01001011 peut être représenté en hex par 4B et en octal comme 113 en le décomposant en 2 groupes de 4 chiffres pour le cas de la base hex et en 3 groupes de 3 chiffres pour la base octale.


Tableau 2: Représentation binaire et hexadécimale.
Binaire Hexadécimale
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 l'administrateur et le programmeur, il y a souvent une ambiguïté à déterminer si un nombre est représenté en base hexadécimale, décimale ou octale. Par exemple, le nombre hex 56 s'exprime comme 01010110, le nombre octal 56 est 101110 et le nombre décimal 56 se représente 111000 (après de fastidieuses conversions). Afin de permettre la distinction, les nombres hex sont préfixés avec ``0x'', les nombres octaux sont préfixés avec ``0'' et si le premier nombre commence par un nombre de 1 à 9, il s'agit d'un nombre décimal dans la plupart des cas. Nous écrirons donc 0x56 en hex, 056 en octal et 56 en décimal. Une autre représentation consiste à ajouter la lettre H, D, O ou B (ou h, d, o ou b) au nombre pour indiquer sa base.

UNIX fait un usage fréquent des nombres binaires à 8, 16 ou 32 chiffres en les représentant souvent sous forme de nombres hex à 2, 4 ou 8 chiffres. Vous vous habituerez à voir des nombres comme 0xffff (ou FFFFh) qui représente 65535, exprimé en binaire comme 1111111111111111.


next up previous contents
Next: Fichiers. Up: Les bases Previous: Les bases   tables des matières  
1-01-2006