Vous êtes sur la page 1sur 11

Chapitre I : Systèmes de Numération et Codage Electronique Numérique

Chapitre I : SYSTEMES DE NUMERATION ET CODAGE

I - LES SYSTEMES DE NUMERATION

I - 1 - Introduction
Les calculateurs numériques sont conçus pour traiter et mémoriser l’information sous toutes
ses formes. Pour des raisons techniques, les différents circuits d’un calculateur traitent
l’information sous sa forme la plus élémentaire en la réduisant en une suite d’éléments
binaires (0,1).
Ils sont généralement organisés pour travailler sur une succession de groupe de bits appelé
mot (word) qui sont de longueur 4, 8, 16, 32 ou 64 bits. Ces mots binaires peuvent représenter
les nombres ou les caractères alphanumériques en fonction d’une loi de codage. Pour utiliser
au mieux les différents équipements, on est amené à modifier la représentation de
l’information en fonction de l’environnement ou elle se trouve.

I – 2 - Représentation des nombres entiers (nombres non signés)

Un nombre entier positif x peut être représenté dans un système de numération, de base B, par
une suite de n chiffres ai compris entre 0 et (B-1) comme suit :
N B = a n −1a n − 2 ..........a1a 0
a i ∈ {0, 1, .................., (B - 1)}
Les ai sont appelés les DIGITS et lorsque B = 2 on appellera les ai des BITS.
Le digit an-1 est le bit le Plus Significatif (MSB : Most Significant Bit)
Le digit a0 est le bit le Moins Significatif (LSB : Least Significant Bit)
La valeur décimale de NB (dans la base 10) se calcule à partir de l’expression suivante :
n −1
N10 = ∑ a i Bi = a n −1Bn −1 + a n − 2 Bn − 2 + ..... + a1B1 + a 0 B0
i=0
Dans cette représentation le nombre NB peut prendre toutes les valeurs décimales entières
possibles définies par :
0 ≤ (NB)10 ≤ (Bn - 1)10

I – 3 - Les systèmes de numération usuels

• Le système Décimal (D)


B = 10 et a i ∈ {0,1,2,3,4,5,6,7,8,9}
N10 = N D = a n −1a n −2 .....a 1a 0
N10 = a n −110 n −1 + a n −2 10 n −2 + ... + a 1101 + a 0 10 0
Exemple : N10 = 892 , n = 3 alors 0 ≤ N10 ≤ 10 3 − 1 = 999 et
N10 = N D = 8x10 2 + 9 x101 + 2 x10 0 = 892
• Le système Octal (O)
B = 8 et a i ∈ {0,1,2,3,4,5,6,7}
N 8 = N O = a n −1a n − 2 .....a1a 0

Sa valeur décimale est donnée par :

Filière SMP-S6 2
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

( N 8 )10 = a n −1 8 n −1 + a n −2 8 n −2 + ... + a 1 81 + a 0 8 0
Exemple : x 8 = 374 , n = 3 alors 0 ≤ ( N 8 )10 ≤ 8 3 − 1 = 51110 et
( N 8 )10 = 3x8 2 + 7 x81 + 4 x8 0 = 252
• Le système Binaire (B)
B=2 et a i ∈ {0,1}
N 2 = N B = a n −1a n − 2 .....a1a 0

ai ne peut prendre que 0 ou 1, cette restriction à 2 valeurs permet de faire correspondre


aux 0 et 1 les états d’un commutateur tout ou rien (interrupteur, relais, transistor en
commutation…)
La valeur décimale N2 est donnée par :
N10 = an −1 2 n −1 + an − 2 2 n − 2 + ... + a1 21 + a0 20
Exemple : N 2 = 1101 , n = 4 alors 0 ≤ ( N 2 )10 ≤ 24 − 1 = 1510 et
3 2 1 0
( N 2 )10 = 1x 2 + 1x 2 + 0x 2 + 1x 2 = 13
• Le système Hexadécimal (H)
B=16 et a i ∈ {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
N16 = x H = a n −1a n − 2 .....a1a 0
Sa valeur décimale est donnée par :
N16 = a n −116 n −1 + a n −2 16 n −2 + ... + a 1161 + a 0 16 0
Exemple : N16 = 5AE , n = 3 alors 0 ≤ ( N16 )10 ≤ 16 3 − 1 = 409510 et
( N16 )10 = 5x16 2 + 10 x161 + 14 x16 0 0 = 1454

I – 4 - Correspondance entre les différents systèmes de numération

On représente les 15 premiers chiffres décimaux

Décimal Binaire Octal Hexadécimal


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
16 10000 20 10

Filière SMP-S6 3
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

I – 5 –Transcodage

C’est l’opération qui permet de passer d’un système de numération à un autre


 Conversion Décimal vers un système de base B {B, O, H}
Soit N10 un nombre décimal représenté par une partie entière de n digits et une partie
fractionnaire de m digits. Alors N10 s’écrit :
N10= ND = an-1 an-2 ……a1 a0 , a-1 a-2 …… a-m
La conversion de N10 dans le système de base B se fait par application des règles
suivantes :
• On divise la partie entière de N10 et les quotients résultants par la base B. Le reste ri
de chacune des divisions constitue les digits successifs de x10 dans la base B pris dans
l’ordre : rn-1 rn-2 …… r1ro (ro étant le premier reste, rn-1 est le dernier reste)
• On multiplie la partie fractionnaire de N10 et celle résultante des multiplications par la
base B. La partie entière de chacune des multiplications successives constitue les
digits de la partie fractionnaire de N10 dans la base B pris dans l’ordre: e-1 e-2 e-3 ….e-m
(e-1 étant la première partie entière)

Remarque
On peut convertir la partie entière de N10 en l’exprimant en sommes de puissances
de la base B

 Conversion Décimal

Binaire
 Exprimer le nombre décimal en sommes de puissance de 2
6 3 2
(76)10=64+8+4 = 2 +0+0+2 +2 +0+0 = (1001100)2
 Répétition de division
25/2=12 + 1 , 12/2 = 6 + 0 , 6/2 = 3 +0 , 3/2 = 1 + 1 , 1/2 = 0 + 1

2510 = 1 1 0 0 12

 Octal : répétition de division


266/8 = 33 + 2 (poids faible) , 33/8 = 4 + 1 , 4/8 = 0 + 4 (poids fort)

26610 = 4 1 28

Hexadécimal : répétition de division


108/16 = 6 + 12, 6/16 = 0 + 6 donc 10810 = 6C16

Filière SMP-S6 4
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

 Octal

Binaire : chaque chiffre en octal est transformé en son équivalent binaire de 3 bits

54318 5 4 3 1 donc 54318 = 1011000110012

101 100 011 001

Hexadécimal : on convertit l’octal en binaire puis on regroupe les bits par 4 en


commençant par la droite pour la partie entière et par la gauche pour
la partie fractionnaire

12348 =001 010 011 1002 = 0010 1001 11002 = 29C16

 Binaire

Octal : on regroupe les bits par 3 en commençant par la droite pour la partie entière
et par la gauche pour la partie fractionnaire

110101102 011 010 110 donc 110101102 =3268

3 2 6
 Hexadécimal : on regroupe les bits par 4 en commençant par la droite pour la
partie entière et par la gauche pour la partie fractionnaire

101110110012 =101 1101 10012 = 5D9216

 Hexadécimal
Binaire : chaque chiffre en hexadécimal est transformé en son équivalent binaire de
4 bits
9 F 216 = 1001 1111 00102

Octal : on convertit l’hexadécimal en binaire puis on regroupe les bits par 3 en


commençant par la droite pour la partie entière et par la gauche pour la
partie fractionnaire

C0DE16= 1100 0000 1101 11102 =1 100 000 011 011 1102 = 1403368

Remarque
− Déplacer la virgule d’un rang vers la droite dans l’expression d’un nombre revient à
multiplier ce nombre par la base B.
− Déplacer la virgule d’un rang vers la gauche dans l’expression d’un nombre revient à
diviser ce nombre par la base B.

Filière SMP-S6 5
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

I – 6 - Représentation des données dans un ordinateur


Un nombre binaire sert à représenter le niveau d’une grandeur électrique (souvent une
tension). Les informations d’entrées (données) sont traduites en impulsions de tension et sont
convertit en nombres binaires. Ces nombres sont stockés dans des registres.

I – 6 – 1 - Représentation des nombres en virgules flottante

N = 11,7510 = 1011,112 1 0 1 1 1 1

C’est l’écriture en virgule fixe de N, en précisant que la partie entière occupe 4 bits. Les bits
des cases 5 et 6 sont réservés pour la partie fractionnaire

Pour représenter N en virgule flottante on l’écrit autrement :

N = 1011,11 x 20 = 101,111 x 21 = 10,1111 x 22 = 0,101111 x 24

N est représenté par un nombre inférieur à 1 multiplié par une puissance de 2. L’exposant
représente la position de la virgule à partir de la gauche. On utilise deux termes : mantisse et
exposant
* le terme 101111 = mantisse
* le terme 4 = 100 = caractéristique ou exposant
N = 11,75 est représenté en virgule flottante, dans des registres, comme suit :

1 0 1 1 1 1 1 0 0
Mantisse Exposant

Si le chiffre significatif de la mantisse est 1, la représentation est dite normalisée.

I – 6 – 2 - Représentation des nombres signés

On adopte une certaine convention pour représenter le signe (+ ou -). Généralement on


ajoute un autre bit au nombre (à gauche des bits de grandeurs), appelé bit de signe (0 pour
les valeurs positives et 1 pour les valeurs négatives).
n-1 n-1
Avec n bits on représente les nombres de – (2 – 1) à (2 – 1). Le zéro possède deux
représentations distinctes +0 et -0.

Nombre binaire Equivalent


signe Valeur absolue décimal
0 1 1 +3
0 1 0 +2
0 0 1 +1
0 0 0 +0
1 1 1 -1
1 1 0 -2
1 0 1 -3

Filière SMP-S6 6
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

I – 6 – 3 - Nombres signés en complément à 2


Complément à 1 d’un nombre : il s’obtient en inversant tous les bits du nombre.
A = 110001010  A’ = 001110101 ( A’ : complément à 1 de A)
n
On a A + A’ = 2 – 1
Complément à 2 d’un nombre : il s’obtient en ajoutant 1 au complément à 1
A = 110001010  A’ = 001110101  A’’ = 001110110
A’’ = A’ + 1
n
Donc A + A’’ = 2 est équivalent à A + A’’ = 0  A = - A’’
Par définition, le nombre opposé d’un nombre donné, s’obtient en prenant le
complément à 2 du nombre, signe compris.

I – 7 - Addition et soustraction binaires


Quatre cas peuvent survenir lorsqu’on additionne ou soustrait des nombres binaires :

Addition Soustraction
0+0=0 0–0=0
1+0=1 1- 0=1
1 + 1 = 10 = 0 et report de 1 1- 1=0
1+ 1 + 1 = 11 = 1 et report de 1 0 - 1 = 1 et report de 1

Addition Soustraction

Nbre X x3 x2 x1 x0 Nbre X x3 x2 x1 x0
Nbre Y y3 y2 y1 y0 Nbre Y y3 y2 y1 y0
X +Y S3 S2 S1 S0 X - Y D3 D2 D1 D0
Retenues r3 r2 r1 r0 Retenues r3 r2 r1 r0

I – 8 – Dépassement

Dans une machine numérique les blocs de calcul ont toujours une taille limitée. Avec n bits
n
on représente des nombres positifs compris entre 0 et 2 – 1. Additionner deux nombres
n
peut conduire à un résultat dépassant 2 – 1 (dépassement supérieur). De même soustraire
un nombre d’un nombre plus petit conduit à un nombre négatif (dépassement inférieur).

X 3 011 10 1010 13 1101 6 0110


Y +1 001 -3 0011 +6 0110 -13 1101
S ou D 4 100 7 0111 19 1 0011 3 1 1001  9
r 0 011 0 0111 1100 1001

Si après une addition ou une soustraction on a une retenue terminale égale à 0, on obtient
les résultats en vraie grandeur, et si l’on obtient une retenue terminale égale à 1, il y a
dépassement.

Filière SMP-S6 7
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

I - 9 – Addition dans la représentation en complément à 2


On effectue l’addition binaire des nombres positifs et négatifs. Dans cette représentation
 le nombre positif reste inchangé càd: Signe (0) + Valeur absolue.
 le signe d’un nombre négatif reste inchangé, la valeur absolue du nombre négatif est
remplacée par son complément à 2 càd: Signe (1) + Complément à 2 de la valeur
absolue.
On obtient la représentation en complément à 2 du résultat

+4  0 0100 +9  0 1001 -9  1 0111 -9  1 0111


+9  0 1001 -4  1 1100 +4  0 0100 -4  1 1100
0 1101 +5 1 0 0101 1 1011 1 1 0011
bit non considéré 1011 est le C. à 2 du bit non considéré
01101 = +13 0 0101 = +5 résultat 0011 = Cà2 de 13
1011 = C à 2 de 5 Résultat=-13
donc Résultat = -5

II – LE CODAGE
II – 2 - Les codes à quatre bits
II – 2 - 1 - Le code DCB (Décimal Codé Binaire) (BCD : Binary Coded Decimal)
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. Ce
code permet de coder les chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) du système décimal en binaire
à quatre bits B3B2B1B0 en utilisant les dix premières combinaisons du code. Les
combinaisons restantes sont ignorées. On l’appelle aussi code 8421. La table de vérité
suivante définie le code BCD.

DECIMAL Code BCD


B3 B2 B1 B0
0 0 0 0 0
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
Remarque
Si on affecte aux bits B3B2B1B0 respectivement les poids 3,2,1,0 (8421) alors chaque
digit décimal peut être retrouvé à partir de sa combinaison du code BCD et des poids.
Dans ce cas le code BCD est pondéré. C’est un code "incomplet" puisqu’il utilise 10
combinaisons sur 16.

II – 2 - 2 - Le code 1210 (ou 2421)


Ce code permet de coder les chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) du système décimal en
binaire. Les poids affectés aux quatre bits B3B2B1B0 sont respectivement 1, 2, 1 et 0.
Dans ce code il existe deux manières de représenter certains chiffres: 7 peut s'écrire :
0111 ou 1101 ainsi que 5 : 0101 ou 1011 ……

Filière SMP-S6 8
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

II – 2 - 3 - Le code AIKEN

C’est un code 1210, il est défini par la table de vérité suivante.

DECIMAL Code AIKEN


B3 B2 B1 B0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 0 1
8 1 1 1 0
9 1 1 1 1

Pour les chiffres décimaux 0, 1, 2, 3, 4, il correspond avec le code BCD, 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. Le code Aiken est fréquemment utilisé dans les automatismes
industriels.

Remarque
Le code AIKEN (1210) est un code pondéré et auto-complémentaire (complément à 9 des
nombres codifiés): les codes des digits 5, 6, 7, 8 et 9 sont les compléments à 1,
respectivement des codes des chiffres 4, 3, 2,1 et 0.

II – 2 - 4 - Le code EXCEDENT 3 (+3)

Le code plus 3 ou code excès 3 appelé aussi code STIBIZ du nom de son inventeur. Ce
code permet de coder les digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) du système décimal en binaire.
Le code B3B2B1B0 du digit « d » est le binaire de (d + 3). Le code Excédent 3 est défini
par la table de vérité suivant :

DECIMAL Code Excédent 3


B3 B2 B1 B0
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0

Le code excédent 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

Filière SMP-S6 9
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

Remarque
Le code Excédent 3 est un code non pondéré et auto- complémentaire.

II – 2 - 5 - Le code Réfléchi ou code GRAY

Le code GRAY défini sur quatre bits B3B2B1B0 est décri par la table de vérité suivante :

Décimal Code GRAY


B3 B2 B1 B0
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

Remarque
Le code GRAY est un code Continu, Cyclique et Réfléchi. Il est utilisé dans la
commande industrielle (commande des moteurs électriques).

II – 4 - Les codes alphanumériques

Le dialogue entre l'homme et l'ordinateur nécessite un code pour représenter les


chiffres numériques et les caractères de l'alphabet ainsi que les différents symboles .Ces
codes doivent coder:
- les 10 chiffres décimaux: 0,1,2,3,4,5,6,7,8,9.
- Les 26 lettres d'alphabet a,b,c,d……..; A,B,C,D……..
- Les différents symboles =,+,-,(,),@,*,………..

Les codes les plus utilisés dans les mini-ordinateurs et micro-ordinateurs sont :

Filière SMP-S6 10
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

Le code ASCII (American Standard Code for Information Interchange)

Le code ASCII est défini sur 7 bits suivant la structure

Filière SMP-S6 11
Chapitre I : Systèmes de Numération et Codage Electronique Numérique

Filière SMP-S6 12

Vous aimerez peut-être aussi