Chapitre 1
SYSTEMES DE NUMERATION ET CODES
Objectifs
Savoir les bases de la numération.
Passage d'une base à une autre.
Connaître quelques codes utilisés en numérique.
Eléments de contenu
Représentation numérique
Système de numérations: Décimal, Binaire, Octal et hexadécimal
Passage d'une base à une autre
Les principaux codes: BCD, GRAY, Complément à deux, Excédant 3
et ASCII
1. Systèmes de numération et codes
A. Notions fondamentales:
I- Représentations numériques:
Il y a fondamentalement deux manières de représenter les valeurs numériques de grandeurs:
La manière analogique.
La manière numérique.
I-1- Représentation analogique:
Dans cette représentation, on fait correspondre à une grandeur une autre grandeur qui lui est proportionnelle.
Exemple: La vitesse d'une automobile: La vitesse angulaire de l'aiguille est proportionnelle à la vitesse de
cetteReprésentation
I-2- auto. numérique:
Une grandeur que l'on représente numériquement n'est pas proportionnelle à une autre grandeur, mais elle est
exprimée au moyen de symboles appelés chiffres.
II- Systèmes numériques et systèmes analogiques:
Systèmes numériques:
Est un groupement d'élément dont le rôle d'ensemble est de traiter des grandeurs physiques sous une forme
numérique.
Systèmes analogiques:
Est un groupement d'élément dont le rôle d'ensemble est de traiter des grandeurs physiques sous une forme
analogique.
III- Systèmes de numérations:
Il y a plusieurs systèmes de numérations sont utilisés en technologie numérique; Les plus courants sont les
systèmes: Décimal, Binaire, Octal et Hexadécimal.
III-1- Système décimal:
Il comprend 10 nombres ou symboles qui sont: 0, 1, 2,…,9. Le système décimal est appelé aussi système
à base 10.
Le système décimal est dit à poids positionnels, en ce sens que la valeur d'un chiffre dépend de sa position (
rang ) dans le nombre.
Exemple:
692 = 6 100 + 9 10 + 2 1
Poids des
Poids des rangs 102 101 100
rangs
On dit que le 6 de poids le plus fort ( MSB)
On dit que le 2 de poids le plus faible ( LSB ) Chiffres 6 9 2
Poids des rangs 102 101 100
Chiffres 6 9 2
692 = 6 102 + 9 101 + 2 100 ( C'est la somme des produits de chaque chiffre par le poids de son
rang dans le nombre )
III-2- Système binaire:
Il est difficile d'adapter le système décimal aux mécanismes numériques, par ce que il est très difficile
de concevoir dans l'équipement électronique qui puisse fonctionner avec dix niveaux de tension différents.
Pour cela on peut imaginer des systèmes électroniques qui fonctionnent seulement avec deux niveaux de
tension. C'est pour cela la plupart des systèmes numériques ont recours au système binaire (base 2).
Donc on peut distinguer pour cette base (2) deux symboles ou chiffres possibles qui sont 0 et 1.
Tous ce que nous venons de dire sur le système décimal s'applique intégralement au système binaire.
Exemple:
Poids des rangs 21
24 23 22 20
( 10100 )2 = 1 2 + 0 2 + 1 2 + 0 2 + 0 2
4 3 2 1 0
Chiffre binaire (bit) 0
= 16 + 0 + 4 + 0 + 0 1 0 1 0
= ( 20 )10
Dans le système binaire, l'expression chiffre binaire est souvent abrégée en bit.
A. Systèmes de numération et codes:
I- Conversion binaire-décimal:
Tout nombre binaire peut être transformé en son équivalent décimal simplement en additionnant les poids des diverses
positions où se trouve une valeur de 1.
Exemple:
( 1001 )2 = 1 23 + 0 22 + 0 21 + 1 20
= ( 9 )10
II- Conversion décimal-binaire:
Il s'agit de faire une suite de divisions euclidiennes par 2. Le résultat sera la juxtaposition des restes.
Exemple: 77
77 s'écrit donc en base 2: (1001101)2.
Exemple: 33
III- Système de numération Octal:
Ce système à comme base 8, ce qui signifie qu'il comprend 8 symboles possibles, soit 0, 1, 2, 3, 4, 5, 6 et 7
Tous ce que nous venons de dire sur le système décimal s'applique intégralement au système octal.
Exemple:
Poids des 81
rangs 8 4
8 3
8 2
80
Chiffre 5
octal 6 0 1 7
Conversion octal-décimal: ( 60157 )8 =(?)10
( 60157 )8 = 6 84 + 0 83 +1 82 + 5 81 + 7 80
= 24576 + 0 + 64 + 40 + 7
= ( 24687 )10
Conversion décimal-octal:
On utilise la méthode de la répétition de division, cette fois-ci en divisant par 8.
Exemple: 298
298
37 restede2
8
37
4 restede5
8
4
0 restede4
8
( 298 )10 = ( 4 5 2 )8
Conversion Octal-Binaire:
Cette conversion s'effectue en transformant chaque chiffre du nombre octal en son
Chiffre octal 0 1 2 3 4 5 6 7
équivalent binaire de trois bits. Equivalent
binaire 000 001 010 011 100 101 110 111
Exemple: Relation entre les nombres binaires et les nombres octaux
Exprimons (47)10 dans le système octal et le système binaire. Nous obtenons :
Conversion Binaire-Octal:
C'est l'inverse de la démarche précédente. Chiffre octal 0 1 2 3 4 5 6 7
Equivalent
000 001 010 011 100 101 110 111
Exemple: ( 011111101 )2 = ( ?)8 binaire
( 011111101 )2 = ( 011 111 101 )2
=( 3 7 5 )8
IV- Système de numération hexadécimal:
Le système hexadécimal à comme base 16, ce qui signifie 16 symboles de chiffres possibles.
Conversion Hexadécimal-Décimal:
Exemples: ( 356 )16 = ( ? )10 ;( 2AF )16 = ( ? )10
( 356 )16 = 3 162 + 5 161 + 6 160
= ( 854 )10
( 2AF )16 = 2 162 + 10 161 +15 160
= ( 687 )10
Conversion Décimal-Hexadécimal:
Il suffit de diviser le nombre décimal par la base hexadécimal (16 ).
Exemples: ( 335 )10 = ( ? )16
Conversion Hexadécimal-Binaire:
Chaque chiffre hexadécimal est remplacé par son équivalent
binaire de 4 bits.
Exemple: ( 1 A 7 )16 = 1 A 7
0001 1010 0111
= ( 000110100111)2
Conversion Binaire-Hexadécimal:
Le nombre binaire est divisé en groupes de 4 bits.
Exemple:
( 110010011001 )2 = 1100 1001 1001
=( C 9 9 ) 16
V-1- Code BCD ( Binary Coded Decimal )
Si on représente chaque chiffre d'un nombre décimal par son équivalent binaire, on obtient le code dit décimal
codé binaire.
Exemple 1:
3 5 8
0011 0101 1000
Le code DCB ne fait pas usage des groupes 1010, 1011, 1100, 1101, 1110 et 1111. Autrement dit, seuls dix des 16
combinaisons des 4 bits sont utilisés. Si l'une des combinaisons inadmissibles apparaît dans une machine utilisant le code
DCB, c'est généralement le signe qu'une erreur s'est produite.
Exemple 2 : Convertir le nombre BCD en son équivalent décimal.
Groupe du code inadmissible indiquant une erreur dans le
nombre BCD.
V-2- Le code majoré de trois ou excédant 3:
Le code majoré de trois d'un nombre décimal se trouve de la même manière que le code DCB, sauf qu'on
ajoute trois à chaque chiffre décimal avant d'opérer la conversion.
Exemple:
Convertissons 35 en sa représentation dans le code majoré de 3.
3 5
Décimal DCB Excédant 3
+3 +3
0 0000 0011
1 0001 0100
6 8
2 0010 0101
0110 1000
3 0011 0110
4 0100 0111
5 0101 1000
6 0110 1001
7 0111 1010
8 1000 1011
9 1001 1100
V-3- Le code GRAY ou Binaire réfléchi:
Le code de Gray, également appelé code Gray ou code binaire réfléchi, est un type de codage binaire permettant de ne
modifier qu'un seul bit à la fois quand un nombre est augmenté d'une unité.
Nombre décimal Binaire naturelle Code Gray
0 000 000
1 001 001
2 010 011
3 011 010
4 100 110
5 101 111
6 110 101
7 111 100
Le code Gray est fréquemment utilisé dans les capteurs angulaires ou de positionnement, mais aussi lorsque l'on
désire une progression numérique binaire sans parasite transitoire.
Le code Gray sert également dans les tableaux de Karnaugh utilisés lors de la conception de circuits logiques.
Exemple d'une roue codeuse Gray avec un tracé des pistes noires sur 4 bits.
Nous avons 16 positions angulaires détectées en 4 bits. La lecture s'effectue par 4
cellules photosensibles.
Conversion binaire à Gray
Garder le MSB
Comparer les bits 2 à 2
Si les 2 bits sont les mêmes : écrire 0
Si les 2 bits sont différents : écrire 1
Exemple
Convertir le nombre
1011 =>( )gray
Exemple : 10112
•On garde le MSB : 1...
•On compare les 2 premiers
bits : 1011
•Ils sont différents donc on écrit 1 →
11...
•On compare le bit précèdent avec le
bit suivant : 1011
•Ils sont différents donc on écrit 1 →
111...
•On compare le bit précèdent avec le
bit suivant : 1011
•Ils sont égaux donc on écrit 0 → 1110
Conversion Gray à binaire
•Garder le MSB
•Comparer le bit qui vient d'être écrit avec le
suivant
• Si les 2 bits sont les mêmes : écrire 0
• Si les 2 bits sont différents : écrire 1
De gauche à droite faire la somme bit qui vient
d'être écrit avec le suivant sans retenue
Exemple : 1110Gray
•On garde le MSB : 1...
•On compare le bit que l'on vient d'écrire avec
le prochain : 1 et 1110
•Ils sont égaux donc on écrit 0 → 10...
•On compare le bit que l'on vient d'écrire avec
le prochain : 10 et 1110
•Ils sont différents donc on écrit 1 → 101...
•On compare le bit que l'on vient d'écrire avec
le prochain : 101 et 1110
•Ils sont différents donc on écrit 1 → 1011
•1110Gray = 10112
V-4- Code en complément à deux:
• C’est la solution usuelle pour représenter les entiers relatifs :
Les entiers naturels codés sur n bits sont répartis en deux groupes.
Pour un entier x appartenant à [−2n−1,2n−1−1]
• Si l’entier relatif x est positif ou nul, on le représente comme l’entier naturel x.
• S’il est strictement négatif, on le représente comme l’entier naturel x+2n .
Ainsi
• Le bit de poids fort est à 1 pour un entier négatif.
• L’addition est la même que pour les entiers positifs, indépendamment du signe.
• On peut donc utiliser le même circuit pour l’addition et la soustraction.
Par exemple, pour un codage sur 3 bits, on peut représenter 2 3=8 nombres.
On utilise les 4 premiers pour coder les entiers positifs 0,+1,+2,+3 et les 4 suivants pour coder les
quatre entiers négatif -4,-3,-2,-1.
Une méthode plus rapide
On garde tous les 0 de droite jusqu’au premier 1, ainsi que ce 1.
Pour le reste, on échange tous les 1 et tous les 0.
Exemples :
Le nombre 24 s’écrit : 0001 1000.
Son opposé -24 s’écrit : 1110 1000.
Le nombre 36 s’écrit : 0010 0100.
Son opposé -36 s’écrit : 1101 1100.
V-5- Les codes alphanumériques:
Un ordinateur doit être capable de traiter les informations non numériques, c'est-à-dire il doit reconnaître des
codes qui correspondent à des lettres, des signes, des ponctuations et des caractères spéciaux. Les codes de ce
genre sont dit alphanumériques, le code alphanumérique le plus répondus est le code ASCII ( Américan Standard
Code for Information Interchange).
C'est un code à 7 éléments on peut donc représenter 2 7 = 128 symboles.
TD 1
Exercice 1: Convertissez
— les nombres (17)10, (42)10, (555)10 en base 16
— les nombres (3A)16 et (DEC)16 en base 10
SOLUTION
— les nombres (17)10 = (11)16, (42)10 = (2A)16, (555)10 = (22B)16 en base
16
— les nombres (3A)16 = 58 et (DEC)16 = 3564
Exercice 2
1. Dans le nombre (40 04)10, Qu’est-ce qui différencie le 4 de gauche de celui de droite ?
2. Convertir (128)10 en binaire.
3. Convertir (1100 0110)2 en décimal.
Solution Exercice 2
1. Dans le nombre (40 04)10 Qu’est-ce qui différencie le 4 de gauche de celui
de droite ? Eh bien, c’est son poids !
2.
(128)10 = (1000 0000)2
3.
(1100 0110)2 = (198)10
Exercice 3
1. Combien vaut (A)16 en décimal ? Combien vaut (4A)16 en décimal ?
2. Convertir (510)10 en hexadécimal.
3. Convertir (1100 0110)2 en hexadécimal.
1. (A)16 = (10)10 , (4A)16 = (74)10
2.
(510)10 = (1FE)16
3.
Exercice 4
Exprimer en binaire le nombre décimal 965 (10) , le nombre octal 607 (8)
et le nombre hexadécimal A8B(16)
965(10) = 1111000101(2) en divisant par 2, par 2, …
607(8)= 110 000 111(2)= 110000111(2)
A8B(16) = 1010 1000 1011(2)= 101010001011(2)
Exercice 5 : Preuve Prouvez l’égalité suivante : b(10) = (10)b, ∀b ∈ N, b > 1.