Vous êtes sur la page 1sur 10

Faculté d’Electronique et Informatique-USTHB 2ème année Licence GTR

Module : Electronique numérique (GTR 303)

SYSTEMES ET CODES DE NUMERATION

I. LES SYSTEMES DE NUMERATION

I.1. Introduction-Définition

Un système de numération est un ensemble de symboles qui, assemblés selon des règles précises,
permettent d'écrire, de lire et de nommer des nombres.
Notre système de numération donc le système dans lequel nous exprimons les nombres que nous
manipulons est dit décimal ou système de numération en base 10, car il comporte dix chiffres.
I.2. Base d’un système

La base B d’un système de numération correspond au nombre de symboles qui sont utilisés dans
ce système.
Système décimal → B = 10  10 symboles 0,1,2,3,4,5,6,7,8,9
Système binaire → B = 2  2 symboles 0,1
Système octal → B = 8  8 symboles 0,1,2,3,4,5,6,7
Système hexadécimal → B = 16  16 symboles 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F (A,B,C,D,E et F
auront les valeurs dix , onze, douze, ..., quinze dans notre base usuelle décimal).
D'une manière générale, le nombre N s’il est exprimé en base B ne pourra comporter que des
chiffres compris entre 0 et B-1.
I.3. Conversion et changement de base

I.3.1. Conversion Base B – Décimal

• Nombres entiers
Le calcul se fera à partir de la règle décrite ci-dessous:
Soit N un nombre représenté dans un système de numération de base B, ai l’ensemble des
symboles utilisés pour représenter le nombre entier dans ce système donc NB = (an an-1… a2 a1 a0)B.
Lorsque l'on écrit un nombre, il faudra bien préciser la base dans laquelle on l'exprime pour lever
les éventuelles indéterminations. Ainsi le nombre sera mis entre parenthèses et indicé d'un
nombre représentant sa base.

𝑖=𝑛

𝑁 = ∑ 𝑎𝑖 𝐵 𝑖 = 𝑎𝑛 𝐵 𝑛 + 𝑎𝑛−1 𝐵 𝑛−1 + ⋯ + 𝑎1 𝐵1 + 𝑎0
𝑖=0

(𝑎𝑛 𝑎𝑛−1 … 𝑎2 𝑎1 𝑎0 )𝐵 = (𝑎𝑛 ∙ 𝐵 𝑛 + 𝑎𝑛−1 ∙ 𝐵 𝑛−1 + ⋯ + 𝑎2 ∙ 𝐵 2 + 𝑎1 ∙ 𝐵 + 𝑎0 )10


an est le bit le plus significatif = bit de poids le plus fort=MSB
a0 est le bit le moins significatif = bit de poids le plus faible=LSB
1/10
Chapitre 1 : Systèmes et codes de numération

Exemples :
a) Système décimal ou Base 10
B = 10, ai  0,1,2,3,4,5,6,7,8,9
N10 = (745)10 = 7 * 102 + 4 * 101 + 5 * 100
745 = 7 * 10 * 10 + 4 * 10 + 5 * 1
745 = 7 * 100 + 4 * 10 + 5 * 1
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 * 104 + 2 * 103 + 4 * 102 + 3 * 101 + 5 * 100
b) Conversion Binaire - Décimal
N2 = (10 110)2, donner son équivalent en décimal.
(A traiter en cours)
c) Conversion Octal - Décimal
N8 = (745)8, donner son équivalent en décimal.
(A traiter en cours)
d) Conversion Hexadécimal - Décimal
N16 = (5AF)16, donner son équivalent en décimal.
(A traiter en cours)
• Nombres fractionnaires
De façon générale la conversion en décimal d’un nombre N exprimé dans un système de
numération de base B sera défini par la relation suivante :

𝑖=𝑛

𝑁 = ∑ 𝑎𝑖 𝐵 𝑖 = 𝑎
⏟𝑛 𝐵 𝑛 + 𝑎𝑛−1 𝐵 𝑛−1 + ⋯ + 𝑎0 𝐵 0 + 𝑎
⏟−1 𝐵 −1 + ⋯ + 𝑎−𝑚 𝐵 −𝑚
𝑖=−𝑚 Partie entière Partie fractionnaire

Exemples :
a) Conversion Binaire - Décimal
N2 = (101.011)2, donner son équivalent en décimal.
(A traiter en cours)
b) Conversion Octal - Décimal
N8 = (302.75)8, donner son équivalent en décimal.
(A traiter en cours)
c) Conversion Hexadécimal - Décimal
N16 = (1EB.C1)16, donner son équivalent en décimal.
(A traiter en cours)
2/10
Chapitre 1 : Systèmes et codes de numération

I.3.2. Conversion Décimal – Base B

Pour représenter un nombre décimal en base B on divise le nombre par la base puis le quotient
jusqu’à ce qu’il s’annule. Le nombre représenté en base B sera obtenu par la lecture de bas en
haut des restes de la division. Le 1er reste représentera le symbole de poids faible et le dernier
reste représentera le symbole du poids fort.
• Nombres entiers
a) Conversion Décimal - Binaire
C’est une division successive du nombre décimal par deux jusqu'à ce que le quotient s’annule.
Exemple : Trouver l’équivalent binaire du nombre (75)10
(A traiter en cours)
b) Conversion Décimal - Octal
C’est une division successive du nombre décimal par 8 jusqu'à ce que le quotient s’annule.
Exemple : Trouver l’équivalent octal du nombre (74)10
(A traiter en cours)
c) Conversion Décimal - Hexadécimal
C’est une division successive du nombre décimal par 16 jusqu'à ce que le quotient s’annule.
Exemple : Trouver l’équivalent en hexadécimal du nombre (235)10
(A traiter en cours)
• Nombres fractionnaires
Exemple:
Trouver l’équivalent binaire du nombre décimal fractionnaire N 10 = (16.35)10
(A traiter en cours)
De façon générale :

𝑎𝑛 𝐵𝑛 + 𝑎𝑛−1 𝐵𝑛−1 + ⋯ + 𝑎0 𝐵0 + ⏟
𝑁10 = ⏟ 𝑎−1 𝐵−1 + ⋯ + 𝑎−𝑚 𝐵−𝑚
Partie entière Partie fractionnaire

𝑁fract = 𝑎−1 𝐵−1 + 𝑎−2 𝐵−2 + ⋯ + 𝑎−𝑚 𝐵−𝑚


𝑁fract ∙ 𝐵 = 𝑎−1 + 𝑎−2 𝐵−1 + … + 𝑎−𝑚 𝐵−𝑚+1
(𝑁fract ∙ 𝐵 − 𝑎−1 ) = 𝑎−2 𝐵−1 + … + 𝑎−𝑚 𝐵−𝑚+1
(𝑁fract ∙ 𝐵 − 𝑎−1 ) ∙ 𝐵 = 𝑎−2 + … + 𝑎−𝑚 𝐵−𝑚+2

Dans le cas des nombres fractionnaires, la conversion de la partie entière est effectuée de la
même façon que pour les nombres entiers. Les digits de la partie fractionnaires du nombre
exprimé dans la base B sont les parties entières de m multiplications successives du nombre dans
la base décimale par la base B.

3/10
Chapitre 1 : Systèmes et codes de numération

I.3.3. Conversion Base B1 quelconque – Base B2 quelconque

1ère méthode :
Le passage entre deux bases B1 et B2 quelconque se fait généralement par l’intermédiaire de la
base 10. Passage de B1 à B=10 puis de B=10 à B2.
Exemple : Passage d’un nombre de B=2 vers B=16
N2 = (10110)2, trouver N16
(A traiter en cours)
2ème méthode :
Dans le cas particulier où la base B2 = B1s, il est aisé de passer directement d’une base à une autre.
Dans ce cas l’équivalent dans la base B2 d’un nombre donné dans la base B1 est obtenu en
découpant le nombre en tranches de S symboles à partir de la virgule et en remplaçant chaque
tranche par son équivalent dans la base B2.
Exemples
Conversion binaire-octal et octal-binaire :
B1=2, B2=8, B2=B13 S=3
a) N2 = 101111100001 → N8

Binaire (101 111 100 001)2


⇓ ↓ ↓ ↓ ↓
Octal ( 5 7 4 1)8

Octal (3 6 2)8
⇓ ↓ ↓ ↓
Binaire (011 110 010 )2

b) N2 = 101.110001 → N8
101 110 001

↓ ↓ ↓
⏟5 ⏟6 1
Partie entière Partie fractionnaire

N8 = (5.61)8
Conversion binaire-hexadécimal et hexadécimal-binaire :
B1=2, B2=16, B2=B14 S=4
a)
Binaire (1101 0000 1100 )2
⇓ ↓ ↓ ↓
Hexadécimal (D 0 C )16

Hexadécimal (1 A F 3)16
⇓ ↓ ↓ ↓ ↓
Binaire (0001 1010 1111 0011)2

4/10
Chapitre 1 : Systèmes et codes de numération

b) N2 = 10110 → N16
0001 0110
 
1 6
N16 = (16)16
Tableau récapitulatif :

En base 10 En base 2 En base 8 En base 16


0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

II. LES CODES DE NUMERATION

Les données exprimées avec le système binaire pur ne sont pas instantanément compréhensibles
(par l'homme), le passage entre le système binaire et le système décimal étant assez compliqué.
Pour surmonter ces inconvénients, des systèmes de codification binaire des nombres décimaux
ont été élaborés. Dans ces codes, à chaque chiffre décimal, on fait correspondre une combinaison
de chiffres binaires.
Les ordinateurs ou les circuits numériques fonctionnent avec deux niveaux : haut (H) et bas (L) ;
tous les codes ne pourront utiliser que deux informations élémentaires liées à ces deux niveaux 1
et 0 (Donc les systèmes qui traitent l’information sont quasiment tous numériques, par
conséquent l’information est donc une suite binaire (base 2) de 0 et 1). Toutefois, les possibilités
offertes par des combinaisons de 1 et de 0 sont très nombreuses. Leur choix dépendra des
applications souhaitées.
5/10
Chapitre 1 : Systèmes et codes de numération

Puisque les combinaisons binaires disponibles sont en quantité plus grande que les caractères
décimaux, il est possible de choisir plusieurs systèmes pour la représentation des chiffres
décimaux. Ces divers systèmes sont appelés codes.
On distingue deux sortes de codes : les codes «pondérés» et les codes «non pondérés».
En général, les codes sont «pondérés» quand il existe des nombres qui indiquent le «poids» des
chiffres binaires des groupes correspondants. En multipliant ces nombres par les chiffres binaires
correspondants, on obtient l'équivalence décimale.
Tous les autres codes dans lesquels on ne peut repérer le poids des chiffres binaires des groupes
correspondants sont appelés «non pondérés» et sont élaborés sur une base à développement
mathématique complexe ou plus simplement sont caractérisés par des tables faites spécialement.

II.1. Codes pondérés

II.1.1. Code DCB (Code décimal codé binaire)(8421)

En anglais BCD (Binary Coded Decimal). Parmi la variété de codes possibles, le code BCD 8421
détient la première place.
Dans les systèmes numériques, l'entrée des données ne s'effectue pas en pur code binaire. Ce sont
plutôt des nombres décimaux codés en binaire (code BCD) qui sont utilisés. BCD (Décimal Codé en
Binaire) signifie que les nombres décimaux 0 à 9 sont représentés par un nombre binaire à
plusieurs chiffres.
Habituellement, le code binaire est mieux adapté pour les circuits numériques, mais il est pénible
de traduire un nombre binaire en décimal surtout lorsque l'on a un grand nombre de bits.
Le code B.C.D., utilisé en association avec des décodeurs appropriés, permet par contre de
traduire facilement en expression binaire les nombres décimaux et vice versa.
Le code B.C.D. est constitué de la manière suivante : chaque chiffre du nombre décimal est codé
en un nombre binaire pur de quatre bits.
Donc dans ce code, chaque symbole du nombre décimal est représenté sur une décade (quartet).
Quartet : un ensemble de 4 variables binaires.

23 22 21 20
Pondération
Décimal 8 4 2 1
0 0 0 0 0 Poids
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Le fait d'affecter des poids aux variables binaires nous conduit à appeler le code obtenu "code
pondéré". Ainsi le nombre 7 est représenté par la combinaison 0111 (7 = 0 + 4 + 2 + 1).
6/10
Chapitre 1 : Systèmes et codes de numération

Le code 8421 est le plus simple des codes pondérés à 4 bits.


Voici quelques exemples de nombres représentés par le code 8421 :

(432)10 = 0100 0011 0010


4 3 2

(907)10 = 1001 0000 0111


9 0 7

Attention : (11)10 = (0001 0001)DCB = (1011)2


L'avantage offert par la méthode du codage B.C.D. est de permettre l'utilisation de circuits
numériques qui travaillent en code binaire tout en gardant une pondération décimale pour chaque
chiffre exprimé en binaire. Pour cette raison, toutes les calculatrices de poche utilisent le code
B.C.D.
Il existe toutefois un inconvénient à ce système de codage, en effet, celui-ci requiert un nombre de
bits plus élevé que celui nécessaire en code binaire.
Par exemple (4022)10 s'écrira :
• en binaire : (1111 1011 0110)2, soit 12 signes.
• en B.C.D. : (0100 0000 0010 0010)BCD, soit 16 signes.
Dans la majeure partie des cas, il devient trop coûteux d'utiliser ce code, en effet, chaque bit
supplémentaire nécessite des composants supplémentaires.

II.1.2. Code 2421

Parmi la variété de codes possibles, le code 2421 est également utilisé. Dans ce code, les poids
affectés aux variables binaires ne sont plus 8, 4, 2, 1 mais 2, 4, 2, 1. Le tableau suivant nous
présente une comparaison entre le code 2421 et le 8421.

Nombre Code 8421 Code 2421


décimal (8) (4) (2) (1) (2) (4) (2) (1)
D C B A D’ C’ B’ A’
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0
3 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0
5 0 1 0 1 0 1 0 1
6 0 1 1 0 0 1 1 0
7 0 1 1 1 0 1 1 1
8 1 0 0 0 1 1 1 0
9 1 0 0 1 1 1 1 1

Dans ce code il existe deux manières de représenter certains chiffres, ainsi :


7 peut s'écrire : 0111 ou 1101
7/10
Chapitre 1 : Systèmes et codes de numération

ainsi que 5 :
0101 ou 1011
La 2ème représentation est connu sous le nom de code 2421 AIKEN.
Nous pouvons remarquer également que le 9 en décimal est représenté par quatre bits à 1 dans le
code 2421. Ce qui veut dire que l'on ne peut pas représenter une valeur supérieure à 9 avec 4 bits
en 2421 contrairement au code 8421 qui peut représenter 16 valeurs différentes.
Exemples :
(13)10 = (0001 0011)2421
(67)10 = (0110 0111)2421

II.1.3. Code Aiken

Le code AiKen est fréquemment utilisé dans les automatismes industriels.


En étudiant le code 2421 nous avions observé qu'il était possible de représenter certains chiffres
de deux manières. Par exemple le 7 peut s'écrire 0111 ou 1101. C'est la deuxième représentation
qui est en code Aiken.
C'est un code 2421 pondéré. Pour les chiffres décimaux 0, 1, 2, 3, 4, il correspond avec le code BCD
8421, tandis que pour les nombres décimaux 5, 6, 7, 8, 9, il concorde avec les nombres 11, 12, 13,
14, 15 du code binaire pur.

Nombre Code 8421 Code Aiken


décimal (8) (4) (2) (1) (2) (4) (2) (1)
D C B A D’ C’ B’ A’
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0
3 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0
5 0 1 0 1 1 0 1 1
6 0 1 1 0 1 1 0 0
7 0 1 1 1 1 1 0 1
8 1 0 0 0 1 1 1 0
9 1 0 0 1 1 1 1 1

Le code Aiken 2421 a la propriété d'être autocomplémentaire. Nous obtenons le complément à 9


des nombres codifiés en remplaçant les 0 par des 1 et les 1 par des 0.
Exemple :
Le complément à 9 de 6 est égal à 3.
6 = 1100
3 = 0011.
L'écriture du chiffre 3 est complémentaire du chiffre 6 ; les 0 du chiffre 6 deviennent des 1 pour le
chiffre 3 et vice versa.
Nous remarquons également que la dernière variable pondérée 2 dans ce code est égale à 0 si le
nombre est inférieur à 5 et égale à 1 quand le nombre est supérieur à 5.
8/10
Chapitre 1 : Systèmes et codes de numération

II.2. Codes non pondérés

II.2.1. Code Gray ou code binaire réfléchi

Le nom code binaire réfléchi (BR) vient de sa méthode de construction. Pour passer d’1
combinaison à une autre on répète les bits précédents selon les poids 8421.
On remarque dans le tableau ci-dessus que lorsqu’on passe de 1 à 2 dans la représentation binaire
deux bits changent d’état et cela peut induire des erreurs dans le traitement des informations. En
code Gray, un seul bit peut changer d’état entre deux valeurs décimales successives.

Nombre Code binaire pur Code GRAY


décimal (BN) (BR)
B4 B3 B2 B1 G4 G3 G2 G1
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 0 1 0
4 0 1 0 0 0 1 1 0
5 0 1 0 1 0 1 1 1
6 0 1 1 0 0 1 0 1
7 0 1 1 1 0 1 0 0
8 1 0 0 0 1 1 0 0
9 1 0 0 1 1 1 0 1
10 1 0 1 0 1 1 1 1
11 1 0 1 1 1 1 1 0
12 1 1 0 0 1 0 1 0
13 1 1 0 1 1 0 1 1
14 1 1 1 0 1 0 0 1
15 1 1 1 1 1 0 0 0

Formation du code Gray à partir du binaire pur


Pour convertir un nombre en code binaire naturel vers un nombre en code binaire réfléchi, il faut
ajouter le code binaire naturel trouvé à lui-même décalé d’un rang vers la gauche, sans tenir
compte de l’éventuelle retenue et en abandonnant dans le résultat le bit de poids faible.

9/10
Chapitre 1 : Systèmes et codes de numération

II.2.2. Code plus 3 ou excédent 3 (DCB+3) (auto-complémentaire à 9)

C’est un code non pondéré issu du code DCB auquel on ajoute systématiquement 3 à chaque
chiffre.
Nombre Code 8421 Code plus 3
décimal (8) (4) (2) (1)
D C B A D’ C’ B’ A’
0 0 0 0 0 0 0 1 1
1 0 0 0 1 0 1 0 0
2 0 0 1 0 0 1 0 1
3 0 0 1 1 0 1 1 0
4 0 1 0 0 0 1 1 1
5 0 1 0 1 1 0 0 0
6 0 1 1 0 1 0 0 1
7 0 1 1 1 1 0 1 0
8 1 0 0 0 1 0 1 1
9 1 0 0 1 1 1 0 0
Le code plus 3 utilise les combinaisons de quatre chiffres du binaire pur compris entre les nombres
décimaux 3 et 12.
Chaque nombre s'obtient en ajoutant 3 à chaque chiffre du nombre décimal et en le codant en
BCD 8421. Dans ce système n'apparaissent pas les combinaisons 0000 et 1111. De plus ce code est
auto complémentaire. Exemple : le complément de 7 à 9 est 27 = 1010.
2 = 0101.
Exemples :
(38)10 = (0110 1011)+3
(10)10 = (0100 0011)+3

Le code plus 3 est souvent utilisé sur des unités arithmétiques qui calculent en système numérique
décimal plutôt qu'en système binaire.
Ce code permet d'effectuer les opérations arithmétiques d'addition et de soustraction avec un
minimum de fonctions logiques.

10/10