Telechargé par criminasser

1 systèmes numérations

publicité
Faculté des Sciences Dhar El Mehraz Fès
Département de Physique
Chapitre 1 LA
I
M
A
L
Systèmes de numérations
a
R
.
r
P
E
d
i
h
c
Pr. Rachid El Alami
2023/2024
[email protected]
1.
Introduction
◼
◼
I
M
Systèmes de numérations
A
L
A
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.
d
i
h
c
L
E
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
.
r
a
R
4) Codage : binaire, BCD, …
P
R. EL ALAMI
2
1.
Systèmes de numérations
1.1
Représentation des nombres
A
L
A
I
M
◼
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:
◼
R
.
r
d
i
h
c
a
L
E
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.
P
R. EL ALAMI
3
1.1
Représentation des nombres
1.1.1 Systèmes de numérations
a.
Numération décimale
L
E
A
L
A
◼
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 à :
d
i
h
c
a
I
M
(1596)10 = 1 x 103 + 5 x 102 + 9 x 101 + 6 x 100
P
R
.
r
R. EL ALAMI
4
1.1
Représentation des nombres
1.1.1 Systèmes de numérations
b.
◼
◼
Numération binaire
A
L
A
I
M
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:
d
i
h
c
a
L
E
(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
R
.
r
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).
P
◼
R. EL ALAMI
5
1.1
Représentation des nombres
1.1.1 Systèmes de numérations
c.
Numération hexadécimale
A
L
A
I
M
L’utilisation de la base b=16 résulte du développement des microordinateurs.
◼ 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
◼
◼
d
i
h
c
a
L
E
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
P
R
.
r
R. EL ALAMI
6
1.1
Représentation des nombres
1.1.2 Changement de base : conversion
a.
Conversion vers la base décimale
L
E
A
L
A
I
M
◼
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:
d
i
h
c
a
(N)b = an-1 x bn-1 + an-2 x bn-2 + … + a1 x b1 + a0 x b0
◼
R
.
r
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.
P
R. EL ALAMI
7
1.1
Représentation des nombres
1.1.2 Changement de base : conversion
b.
A
L
A
Conversion de la base 10 vers la base 2
L
E
I
M
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).
◼
◼
d
i
h
c
a
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
R
.
r
P
◼
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
A
L
A
I
M
◼
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
d
i
h
c
a
L
E
R
.
r
44 = (101100)2
P
R. EL ALAMI
9
1.1
Représentation des nombres
1.1.2 Changement de base : conversion
c.
◼
◼
◼
◼
A
L
A
Conversions directes binaire - hexadécimal
I
M
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
i
h
c
a
L
E
R
.
r
D
8
7
Ou bien dans l’autre sens
(BD9)16 = (1011 1101 1001)2
P
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
A
L
A
I
M
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
signe (0) = 1
A = Signe ( an )  ai 2i
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
d
i
h
c
a
L
E
P
R
.
r
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
A
L
A
I
M
(7)10 = (0000 0111)2 → (-7)10 = (1000 0111)2
L
E
◼
L’inconvénient de ce type de codage est double:
◼
Il y’a deux représentations pour le zéro:
R
.
r
P
◼
d
i
h
c
a
+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.
A
L
A
Représentation par le complément à 1
I
M
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
ത = 1 et 1ത = 0
◼ Sachant que le complément de 0 noté 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
◼
d
i
h
c
a
L
E
P
R
.
r
R. EL ALAMI
13
1.1
Représentation des nombres
1.1.3 Représentations des nombres négatifs
c.
A
L
A
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|
R
.
r
P
◼
d
i
h
c
a
L
E
→
I
M
-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
L
E
A
L
A
I
M
◼
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:
◼
d
i
h
c
a
𝑖
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
P
R
.
r
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:
L
E
1.2.1 Addition en complément à 1
◼
◼
◼
A
L
A
I
M
d
i
h
c
a
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.
P
R
.
r
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
→
0001 0001
1111 0111
1 0000 1000
1
0000 1001 = 9
L
E
- 8)10 = 1111 0111)2
d
i
h
c
a
En C1 →
R
.
r
Retenue
P
A
L
A
I
M
R. EL ALAMI
Si on a une retenue on l’ajoute
au résultat et le résultat est > 0
17
1.2
Addition arithmétique
1.2.2 Addition en complément à 2
A
L
A
I
M
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
◼
d
i
h
c
a
En C2 →
L
E
0001 0000
1111 0111
1 0000 0111 = 7
P
R
.
r
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)
A
L
A
I
M
◼
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:
d
i
h
c
a
L
E
421)10 = 0100 0010 0001)BCD
R
.
r
P
◼
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
A
L
A
I
M
◼
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:
d
i
h
c
a
L
E
P
R
.
r
R. EL ALAMI
20
1.3
Codage des nombres
1.3.2 Codes adjacents
Codage décimal
Binaire naturel
A
L
A
I
M
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.
d
i
h
c
a
L
E
P
R
.
r
R. EL ALAMI
21
1.3
Codage des nombres
1.3.2 Codes adjacents
◼
A
L
A
I
M
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.
d
i
h
c
a
L
E
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)
R
.
r
3) Enfin, on rajoute un 0 à gauche des « anciens » nombres et un 1
aux nouveaux nombres,
P
R. EL ALAMI
22
1.3
Codage des nombres
1.3.2 Codes adjacents
◼
Exemple:
Décimal
0
1
GRAY
0
1
anciens nombres
P
GRAY
·0
00
·1
01
·1
11
·0
10
Miroir
nouveaux
nombres
d
i
h
c
a
R
.
r
L
E
Décimal
0
1
2
3
A
L
A
Décimal
0
1
2
3
4
5
6
7
I
M
GRAY
· 00 000
· 01 001
· 11 011
· 10 010
· 10 110
· 11 111
· 01 101
· 00 100
miroir
R. EL ALAMI
23
1.3
Codage des nombres
1.3.2 Codes adjacents
A
L
A
I
M
◼
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,
d
i
h
c
a
L
E
P
R
.
r
R. EL ALAMI
24
Téléchargement