SYSTEME DE NUMERATION
I. SYSTEME DE NUMERATION DECIMAL, OCTAL, BINAIRE
ET HEXADECIMAL
Les systèmes de numérations binaire et hexadécimal sont très utilisés dans les domaines de
l'électronique et de l'informatique. Tout programmeur se doit de les connaître en plus des
systèmes décimal et octal.
1) Principe d'une base
La base est le nombre qui sert à définir un système de numération.
La base du système décimal est dix alors que celle du système octal est huit.
Quelque soit la base numérique employée, elle suit la relation suivante :
ou : bi : chiffre de la base de rang i
et : ai : puissance de la base a d'exposant de rang i
Exemple : base 10
1986 = (1 x 103) + (9 x 102) + (8 x 101) + (6 x 100)
2) Le système décimal
Le système décimal est celui dans lequel nous avons le plus l'habitude d'écrire.
Chaque chiffre peut avoir 10 valeurs différentes :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, de ce fait, le système décimal a pour base 10.
Tout nombre écrit dans le système décimal vérifie la relation suivante :
745 = 7 x 100 + 4 x 10 + 5 x 1
745 = 7 x 10 x 10 + 4 x 10 + 5 x 1
745 = 7 x 102 + 4 x 101 + 5 x 100
1/10
²
Chaque chiffre du nombre est à multiplier par une puissance de 10 : c'est ce que l'on nomme
le poids du chiffre. L'exposant de cette puissance est nul pour le chiffre situé le plus à droite et
s'accroît d'une unité pour chaque passage à un chiffre vers la gauche.
12 435 = 1 x 104 + 2 x 103 + 4 x 102 + 3 x 101 + 5 x 100 .
Cette façon d'écrire les nombres est appelée système de numération de position.
Dans notre système conventionnel, nous utilisons les puissances de 10 pour pondérer la valeur
des chiffres selon leur position, cependant il est possible d'imaginer d'autres systèmes de
nombres ayant comme base un nombre entier différent.
3) Le système octal
Le système octal utilise un système de numération ayant comme base 8 (octal => latin octo =
huit).
Il faut noter que dans ce système nous n'aurons plus 10 symboles mais 8 seulement :
0, 1, 2, 3, 4, 5, 6, 7
Ainsi, un nombre exprimé en base 8 pourra se présenter de la manière suivante : (745) 8
Lorsque l'on écrit un nombre, il faudra bien préciser la base dans laquelle on l'exprime pour
lever les éventuelles indéterminations (745 existe aussi en base 10).
Ainsi le nombre sera mis entre parenthèses (745 dans notre exemple) et indicé d'un nombre
représentant sa base (8 est mis en indice).
Cette base obéira aux même règles que la base 10, vue précédemment, ainsi on peut
décomposer (745)8 de la façon suivante :
(745)8 = 7 x 82 + 4 x 81 + 5 x 80
(745)8 = 7 x 64 + 4 x 8 + 5 x 1
(745)8 = 448 + 32 + 5
Nous venons de voir que : (745)8 = (485)10.
4) Le système binaire
Dans le système binaire, chaque chiffre peut avoir 2 valeurs différentes : 0, 1.
De ce fait, le système a pour base 2.
Tout nombre écrit dans ce système vérifie la relation suivante :
2/10
²
(10 110)2 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20
(10 110)2 = 1 x 16 + 0 x 8 + 1 x 4 + 1 x 2 + 0 x 1
donc : (10110)2 = (22)10 .
Tous les systèmes de numération de position obéissent aux règles que nous venons de voir.
Tableau récapitulatif
Système Système Système binaire
décimal Octal
23 22 21 20
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 10 1 0 0 0
9 11 1 0 0 1
10 12 1 0 1 0
11 13 1 0 1 1
12 14 1 1 0 0
13 15 1 1 0 1
14 16 1 1 1 0
15 17 1 1 1 1
3/10
²
5) Le système hexadécimal
Le système hexadécimal utilise les 16 symboles suivant :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
De ce fait, le système a pour base 16. Un nombre exprimé en base 16 pourra se présenter de la
manière suivante : (5AF)16
La correspondance entre base 2, base 10 et base 16 est indiquée dans le tableau ci-après :
Système Système Système Système binaire
décimal Hexadécimal Octal
23 22 21 20
0 0 0 0 0 0 0
1 1 1 0 0 0 1
2 2 2 0 0 1 0
3 3 3 0 0 1 1
4 4 4 0 1 0 0
5 5 5 0 1 0 1
6 6 6 0 1 1 0
7 7 7 0 1 1 1
8 8 10 1 0 0 0
9 9 11 1 0 0 1
10 A 12 1 0 1 0
11 B 13 1 0 1 1
12 C 14 1 1 0 0
13 D 15 1 1 0 1
14 E 16 1 1 1 0
4/10
²
15 F 17 1 1 1 1
Le nombre (5AF)16 peut se décomposer comme suit :
(5AF)16 = 5 x 162 + A x 161 + F x 160
En remplaçant A et F par leur équivalent en base 10, on obtient :
(5AF)16 = 5 x 162 + 10 x 161 + 15 x 160
(5AF)16 = 5 x 256 + 10 x 16 + 15 x 1
donc = (5AF)16 = (1455)10
II. CONVERSION ET CHANGEMENT DE BASE
En exposant les principes des systèmes de numération de position, nous avons déjà vu
comment convertir les nombres de base 8, base 2 et base 16 en nombres décimaux.
1) Conversion d'un nombre décimal en nombre binaire
Pour expliquer ce type de conversion, on peut revenir sur le système décimal.
Si nous divisons le nombre (543)10 par 10, nous obtenons comme quotient 54 et 3 comme
reste. Cela signifie que ce nombre équivaut à :
(54 x 10) + 3
Le reste 3 est le chiffre indiquant le nombre d'unités.
En redivisant ce quotient (54) par 10, nous obtenons 5 comme deuxième quotient et 4 comme
reste. Ce reste donne le deuxième chiffre du nombre, donc celui des dizaines.
Enfin, si l'on divise ce deuxième quotient par 10, nous obtenons 0 et il restera 5 qui
représentera le chiffre des centaines.
5/10
²
2) Résumer du principe de conversion
En divisant successivement un nombre par la base (10) et en ne conservant que les restes, on a
réussi à exprimer le nombre par des chiffres inférieurs de 10. Mais attention, il faut lire les
restes de bas en haut.
3) Conversion binaire
Maintenant si nous divisons un nombre décimal par 2, le quotient indique le nombre de fois
que 2 est contenu dans ce nombre et le reste indique le chiffre des unités dans l'expression du
nombre binaire.
Soit N le nombre, Q1 le quotient et R1 le reste, nous avons :
N = (Q1 x 2) + (R1 x 1)
N = (Q1 x 21) + (R1 x 20)
Exemple :
soit :
N = (22 x 2) + (0 x 1) = 44.
Pour obtenir l'expression binaire d'un nombre exprimé en décimal, il suffit de diviser
successivement ce nombre par 2 jusqu'à ce que le quotient obtenu soit égal à 0.
Comme pour la conversion dans le système décimal les restes de ces divisions lus de bas en
haut représentent le nombre binaire.
6/10
²
(44)10 = (101100)2.
4) Relation entre les nombres binaires et les nombres octaux
Exprimons (47)10 dans le système octal et le système binaire. Nous obtenons :
Nous pouvons remarquer qu'après 3 divisions en binaire nous avons le même quotient
qu'après une seule en octal. De plus le premier reste en octal obtenu peut être mis en relation
directe avec les trois premiers restes en binaire :
(111)2 = 1 x 22 + 1 x 21 + 1 x 20
(111)2 = 1 x 4 + 1 x 2 + 1 x 1
(111)2 = (7)8
et il en est de même pour le caractère octal suivant :
(101)2 = 1 x 22 + 0 x 21 + 1 x 20
(101)2 = 1 x 4 + 0 x 2 + 1 x 1
(101)2 = (5)8
7/10
²
Cette propriété d'équivalence entre chaque chiffre octal et chaque groupe de 3 chiffres
binaires permet de passer facilement d'un système à base 8 à un système à base 2 et vice
versa.
5) Exemple de conversion binaire octal et octal binaire
6) Relation entre les nombres binaires et les nombres hexadécimaux
La propriété d'équivalence que nous venons de voir entre le binaire et l'octal existe entre
l'hexadécimal et le binaire.
La seule différence est qu'il faut exprimer chaque caractère hexadécimal à l'aide de 4
informations binaires.
III. CODE BINAIRE REFLECHI OU CODE GRAY
C'est un code à distance minimale car on passe d'une ligne à la suivante en ne changeant
qu'un seul bit. On ne peut affecter aucun poids aux bits dans les groupes codés : ce code est
non pondéré.
8/10
²
Système GRAY
décimal
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0
8 1 1 0 0
9 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0
9/10
²
IV. CODE BCD
Le code BCD (Binary Coded Decimal) qui veut dire Binaire Codé en Décimal est la traduction
en binaire des 9 premiers chiffres du système décimal. Si on a un nombre décimal N à m
chiffres, il sera codé en BCD sur (m x 4) bits : chaque chiffre décimal est traduit en code BCD
sur 4 bits.
Exemple : (571)2 = 1000111011 en binaire pur
= 0101 0111 0001 en BCD
10/10