Vous êtes sur la page 1sur 24

Faculté des Sciences Dhar El Mehraz Fès

Département de Physique

Chapitre 1
Systèmes de numérations

Pr. Rachid El Alami


2020/2021
rachid.elalami@usmba.ac.ma
1. Systèmes de numérations
Introduction
 L’électronique numérique manipule des variables logiques 0 ou 1
obéissant aux règles de l’algèbre de Boole.
 Nous allons voir dans cette partie comment représenter une
information en utilisant des variables logiques.

1) Représentation des nombres


Base 2, Base 10, Base 16
2) Changement de base : conversion
vers la base 10, vers la base 2, vers la base 16
3) Opérations arithmétiques

4) Codage : binaire, BCD, …

R. EL ALAMI 2
1. Systèmes de numérations
1.1 Représentation des nombres
 On représente d’habitude les nombres à l’aide des symboles
{0,1,2,…,9} qui constitue ce qu’on appelle une base décimale, et les
caractères alphabétiques à l’aide des lettres {A,B,…, a,b,…}.

 Pour pouvoir traiter ces informations à l’aide d’une machine, il faut les
traduire en langage machine qui est une suite de 0 et 1:

0  Absence du signal
1  présence du signal
{0, 1} constitue une base binaire

 Ces deux états, 0 et 1, sont appelés physiquement des bits.

R. EL ALAMI 3
1.1 Représentation des nombres
1.1.1 Systèmes de numérations

a. Numération décimale

 C’est le système de numération usuel dans la vie quotidienne;


puisque b=10, il dispose de 10 symboles: 0,1,2, … , et 9.

 Par exemple; l’entier 1596 correspond à :

(1596)10 = 1 x 103 + 5 x 102 + 9 x 101 + 6 x 100

R. EL ALAMI 4
1.1 Représentation des nombres
1.1.1 Systèmes de numérations

b. Numération binaire
 La numération en base 2 ou numération binaire utilise deux symboles
0 et 1. cette base est très pratique en electronique numérique pour
distinguer 2 états logiques.
 On écrit:
(an-1 an-2 … a2 a1 a0)2 = an-1 x 2n-1 + an-2 x 2n-2 + … + a2 x 22 + a1 x 21 + a0 x 20
 La partie à droite de l’équation donne la valeur en décimal du nombre
binaire écrit à gauche, par exemple:
(1011)2 = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 11)10

MSB LSB
 Le bit de poids le plus fort est appelé MSB ( Most Significant Bit).
 Le bit de poids le plus faible est appelé LSB ( Less Significant Bit).

R. EL ALAMI 5
1.1 Représentation des nombres
1.1.1 Systèmes de numérations

c. Numération hexadécimale
 L’utilisation de la base b=16 résulte du développement des micro-
ordinateurs.
 Les symboles utilisés dans cette base sont les 10 chiffres {0,1, … ,9}
complétés par les lettres A (pour 10) à F (pour 15).
 On écrit:

(an-1 an-2 … a1 a0)16 = an-1 x 16n-1 + an-2 x 16n-2 + … + a1 x 161 + a0 x 160

 De même, la partie à droite de l’équation donne la valeur en décimal


du nombre hexadécimal écrit à gauche, par exemple:
(AA)16 = A x 161 + A x 160 = 10 x 16 + 10 x 1 = (170)10
(B7)16 = B x 161 + 7 x 160 = 11 x 16 + 10 x 1 = (183)10

R. EL ALAMI 6
1.1 Représentation des nombres
1.1.2 Changement de base : conversion

a. Conversion vers la base décimale

 Le principe de la conversion résulte directement des définitions


précédentes et de la façon dont on écrit un nombre dans une base
donnée.

 De façon générale on écrit:

(N)b = an-1 x bn-1 + an-2 x bn-2 + … + a1 x b1 + a0 x b0

 Où b est codé en décimal, la conversion est ainsi réalisée


automatiquement puisque le résultat est écrit directement en base
10.

R. EL ALAMI 7
1.1 Représentation des nombres
1.1.2 Changement de base : conversion

b. Conversion de la base 10 vers la base 2

 L’opération repose sur la remarque suivante:


Le chiffre recherché de poids le plus faible est le reste de la division du
nombre par la base b ( de façon générale).

 Soit N le nombre à convertir, on peut écrire:

(N)b = an-1 bn-1 + an-2 bn-2 + … + a1 b1 + a0 b0


= (an-1 bn-2 + an-2 bn-3 + … + a2 b1 + a1) x b + a0 avec a0 < b

 Le chiffre suivant s’obtient de la même façon à partir du quotient est


ainsi de suite jusqu’au le chiffre de poids le plus fort.

R. EL ALAMI 8
1.1 Représentation des nombres
1.1.2 Changement de base : conversion
 D’une autre manière, on divise le nombre à convertir par 2 de
manière successive, c.-à-d., on divise le nombre à convertir N par 2
puis le quotient par 2, jusqu’à l’obtention d’un quotient nul.

 Les restes obtenus dans le sens inverse représente N en binaire.

 Exemple: 44

44 = (101100)2

R. EL ALAMI 9
1.1 Représentation des nombres
1.1.2 Changement de base : conversion

c. Conversions directes binaire - hexadécimal


 Les conversions entre les bases binaire et hexadécimal peuvent se
faire par l’intermédiaire de la base 10 en appliquant les méthodes
précédentes.
 Il est cependant possible d’effectuer la conversion directement,
 La méthode consiste à découper le nombre à convertir en
« paquets » facilement convertible dans la base désirée.
 Exemple:
(1101 1000 0111)2 = (D87)16

D 8 7
Ou bien dans l’autre sens
(BD9)16 = (1011 1101 1001)2

R. EL ALAMI 10
1.1 Représentation des nombres
1.1.3 Représentations des nombres négatifs

a. Représentation par un bit de signe


 Représenter un entier relatif A sur (N+1) bits, consiste à considérer le
bit de poids fort MSB comme étant un bits de signe; vaut 0 pour un
nombre positif et 1 pour un nombre négatif.
 Les N autres bits sont utilisés pour représenter |A|
Avec :
N −1
A = Signe ( an ) ∑ ai 2i signe (0) = 1
i =0
signe (1) = - 1
 Remarque
a0 : permet de déterminer la parité d’un nombre
si a0 = 1  le nombre est impaire
si a0 = 1  le nombre est paire

R. EL ALAMI 11
1.1 Représentation des nombres
1.1.3 Représentations des nombres négatifs
 Exemple: représenter – 7 sur 8 bits

(7)10 = (0000 0111)2  (-7)10 = (1000 0111)2

 L’inconvénient de ce type de codage est double:

 Il y’a deux représentations pour le zéro:

+0)10 = 0000 0000)2


- 0)10 = 1000 0000)2

 En plus, la soustraction ne fonctionne pas

R. EL ALAMI 12
1.1 Représentation des nombres
1.1.3 Représentations des nombres négatifs

b. Représentation par le complément à 1


 Ce type de codage opère de la manière suivante:
Si A > 0  on prend son codage en binaire pur
Si A < 0  on prend le codage en binaire de |A| puis on complémente
tous les bits de codage
 Sachant que le complément de 0 noté 0 � = 1 et 1� = 0
 Exemple:

(7)10 = (0000 0111)2 =|-7|  (-7)10 = (1111 1000)2


 De même, l’inconvénient de ce type de codage est qu’Il y’a deux
représentations pour le zéro:
+0)10 = 0000 0000)2
- 0)10 = 1111 1111)2
 Mais, cette représentation permet d’effectuer la soustraction

R. EL ALAMI 13
1.1 Représentation des nombres
1.1.3 Représentations des nombres négatifs

c. Représentation par le complément à 2


 Ce type de codage opère de la manière suivante:
Si A > 0  on prend son codage en binaire pur
Si A < 0  on prend le codage en binaire de |A| puis on prend son
complément auquel on ajoute 1.
 Sachant que :
1+0=1 ; 0+1=1 ; 0 + 0 = 0 ; 1 + 1 = 10

 Exemple:
7)10 = 0000 0111)2 =|-7|  -7)10 = 1111 1000)2 + 1
= 1111 1001)2

 Cette représentation permet aussi d’effectuer la soustraction.

R. EL ALAMI 14
1.1 Représentation des nombres
1.1.3 Représentations des nombres négatifs

d. Passage de la base 2 vers 10

 Soit A)2 = an … a2 a1 a0 un nombre binaire, selon le type de codage


de A;
 Si A > 0  A)10 = ∑𝑛𝑛𝑖𝑖=0 𝑎𝑎𝑖𝑖 2𝑖𝑖

 Si A < 0  3 cas:

1) En binaire signé: A)10 = 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑎𝑎𝑎𝑎) ∑𝑛𝑛−1


𝑖𝑖=0 𝑎𝑎𝑖𝑖 2
𝑖𝑖

2) En complément à 1: A)10 = − 𝐴𝐴̅ )2 10


3) En complément à 2: A)10 = − 𝐴𝐴̅ )2 + 1 10

R. EL ALAMI 15
1. Systèmes de numérations
1.2 Addition arithmétique
 C’est le même principe que l’addition décimale, on aligne les bits de
même poids et on effectue l’addition comme en base décimale.
 Selon le type de codage, on distingue 2 type d’additions:

1.2.1 Addition en complément à 1

 La soustraction de deux nombre A – B est l’opération d’addition de A


et de ( - B ).
 On effectue cette addition de A et (- B), si on a une retenue on
l’ajoute au résultat et le résultat est positif.
 Sinon, c.-à-d. la retenue =0, le résultat est négatif et on
complémente.

R. EL ALAMI 16
1.2 Addition arithmétique
1.2.1 Addition en complément à 1
 Exemple: effectuons l’opération 17 – 8 = 9

17)10 = 0001 0001)2


8)10 = 0000 1000)2  - 8)10 = 1111 0111)2

En C1 
0001 0001
1111 0111
1 0000 1000 Si on a une retenue on l’ajoute
1 au résultat et le résultat est > 0
Retenue 0000 1001 = 9

R. EL ALAMI 17
1.2 Addition arithmétique
1.2.2 Addition en complément à 2
 De la même manière que l’addition en C1, on effectue l’addition de A
et ( - B), pour (– B) on utilise le C2.
 Si on a une retenue, le résultat est définitif et >0, Sinon le résultat est
négatif et dans ce cas on complémente à 2.
 Exemple: 16 – 9 = 7

16)10 = 0001 0000)2


9)10 = 0000 1001)2  en C2 - 9)10 = 1111 0110)2 + 1 = 1111 0111)2

En C2 
0001 0000
1111 0111
1 0000 0111 = 7 Si on a une retenue le résultat
est définitif et > 0
La retenue est ignorée

R. EL ALAMI 18
1.3 Codage des nombres
1.3.1 Code BCD (Binary Coded Decimal)
 Il s’agit d’une représentation des nombres en base 10, où chaque
chiffre est codé en binaire.

 Il faut 4 bits pour représenter les 10 chiffres de la base 10 et chaque


bit d’un groupe de est affecté de son poids naturel.

 On écrit ainsi par exemple:

421)10 = 0100 0010 0001)BCD


4 2 1

 En code BCD un nombre de n chiffres occupe toujours 4xn bits

R. EL ALAMI 19
1.3 Codage des nombres
1.3.2 Codes adjacents

 Lorsque deux chiffres ou nombre consécutifs ont toujours des


représentations qui ne différent que par un seul bit on dit qu’il s’agit
d’un code adjacent.

 Et si l’adjacence est complète, avec retour au point de départ, on


parle de code cyclique.

 Par exemple, on représente la construction des codes cycliques


appelés code GRAY, pour la numération décimale:

R. EL ALAMI 20
1.3 Codage des nombres
1.3.2 Codes adjacents
Codage décimal Binaire naturel Codage GRAY
ou binaire réfléchi
0 000 000
1 001 001
2 010 011
3 011 010
4 100 110
5 101 111
6 110 101
7 111 100
N.B: pour passer d’une ligne à la suivante, on inverse le bit le plus à
droite possible conduisant à un nombre nouveau.

R. EL ALAMI 21
1.3 Codage des nombres
1.3.2 Codes adjacents

 Le nom de code binaire réfléchi vient d’une méthode de construction


plus pratique pour choisir quel bit à inverser quand on passe d’un
nombre au suivant.

1) On choisit un code de départ: zéro est codé 0 et un est codé 1

2) Puis à chaque fois qu’on a besoin d’un bit supplémentaire, on


symétrise les nombres déjà obtenus (comme une réflexion sur miroir)

3) Enfin, on rajoute un 0 à gauche des « anciens » nombres et un 1


aux nouveaux nombres,

R. EL ALAMI 22
1.3 Codage des nombres
1.3.2 Codes adjacents
 Exemple: anciens nombres

Décimal GRAY Décimal GRAY Décimal GRAY


0 0 0 ·0 00 0 · 00 000
1 1 1 ·1 01 1 · 01 001
2 ·1 11 2 · 11 011
3 ·0 10 3 · 10 010
4 · 10 110
Miroir nouveaux 5 · 11 111
nombres 6 · 01 101
7 · 00 100

miroir

R. EL ALAMI 23
1.3 Codage des nombres
1.3.2 Codes adjacents
 Une autre méthode plus simple:

 Si le nombre de 1 est pair, il faut inverser le bit le plus à droite,

 Et si le nombre de 1 est impair  il faut inverser le bit situé à gauche


du 1 le plus à droite,

R. EL ALAMI 24

Vous aimerez peut-être aussi