Académique Documents
Professionnel Documents
Culture Documents
A. Oumnad
A. Oumnad
A. Oumnad
A. Oumnad
32768
85
4096
84
512
83
64
82
8
81
1
80
235
x 3
723
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
A
10
B
11
C
12
D
13
E
14
F
15
16
24
8
23
4
22
2
21
1
20
= (32+8+4+1)10 = 4510
Ce systme est trs utilis car facilement matrialisable. Les deux chiffres 0 et 1 peuvent tre mis en
vidence techniquement par plusieurs faons :
A. Oumnad
Dcimal Binaire
17510 = ?2
On cherche la plus grande puissance de 2 contenues dans 175, c'est 128=27.
175 = 128(27) + 47 , On refait la mme chose avec 47
47 = 32(25)+ 15
, de la mme faon on obtient
15 = 8 + 4 + 2 + 1 , Donc
17510 = 27 + 25 + 23 + 22 + 21 + 20 = 101011112
Cette conversion peut se faire d'une faon systmatique l'aide d'une division succssive par. Le
rsultat en binaire est constitu par les restes successifs des divisions.
175
2
10101111
1 87
2
43
1
2
1 21
2
1 10
2
0
2
5
1
2
2
0 1
2
1
0
34610 = 1010110102
23310 = 111010012
8410 = 10101002
4210 = 1010102
Pour les chiffres droite de la virgule, on procde d'une faon similaire, sachant que les poids droite
de la virgule sont 0.5, 0.25, 0.125 La division en echelle se transforme en une multiplication en chelle qui
s'arrete quand le rsultat est nul. IL arrive qu'on ne tombe jamais sur un rsultat nul et la multiplication ne
s'arrete jamais. Dans ce cas on est libre d'arreter ds qu'on juge que le nombre de chiffres aprs la
virgule est suffisant.
exemple : (175.34)10 = ( ? )2
(175)10 = (10101111)2
0.34*2 = 0.68, 0.68*2 = 1.36, 0.36*2 = 0.72, 0.72*2 = 1.44, 0.44*2 = 0.88
0.34 = 0.01010
((175)10 = (10101111. 01010)2
I.5.2 --
Dcimal Octal
31810 = ?
On cherche la plus grande puissance de 8 (le plus grand poids) contenue dans 318. C'est 64.
On aura donc 31810 = cba8 t.q. 318 = a.1 + b.8 + c.64
318
62
64
4
A. Oumnad
I.5.3 --
8
152
72
0
8
19
3
8
2
2
8
0
Dcimal Hexadcimal
1661710 = 40E916
16617 16
9 1038 16
14 64 16
0 4
4
I.5.4 --
1223
42
23
7
500010 = 138816
5000 16
8 312
8
16
0
16
19 16
3 1
1
16
0
Octal binaire
Octal binaire : On crit chaque chiffre octal est crit sur 3 bits
2358 = 010 011 1012
7538 = 111 101 0112
Binaire octal : Le nombre binaire est dcoup en tronon de 3 bits en commenant de la droite (LSB),
et chaque 3bits seront crit en octal.
11001111011002 = 1 100 111 101 1002 = 147548
I.5.5 --
Hexadcimal binaire
A. Oumnad
Machine n bits
2n Nombres diffrents
Nombres signs
n
2 Nombres
2 / 2 Ngatifs
2n / 2 Positifs
0 2n - 1
-1 - 2n / 2
0 2n/2 - 1
I.6.1 --
Reprenons l'exemple d'une machine 4 bits, si on ajoute deux nombres et le rsultat est suprieur 15, il
crit normalement sur 5 bits est la machine n'a que 4 bits donc le 5ime sera perdu, et le rsultat sera
diminu de 1610=100002
0101 (5)
0111 (7)
+ 0011 (3)
+1101 (13)
1000 (8)
0100 (4)
On s'aperoit finalement qu'une machine 4 bits travaille modulo 16=24 , c'est dire que pour cette
machine, on a 16 = 0. Donc pour cette machine l'oppos d'un nombre N est -N tel que N + (-N) = 0 = 16 soit
-N = 16 -N.
On peut crire -N = 15+1 -N = 15-N +1 .
L'Opration 15-N s'appelle le complment 1 du nombre N car elle revient complmenter (par rapport
1) un par un tous les bits du nombre N.
Nombre
0101 (5)
1111 (15)
Son complment 1
1010 (10=15-5)
0000 (15-15=0)
Finalement pour obtenir l'oppos d'un nombre N, il suffit de complmenter tous ses bits puis de rajouter 1,
cette opration s'appelle le complment 2 de N.
Si on note N le complment 1 de N on a : -N = N +1
-7 = 7 + 1 = 1001
7 0111
7 1000
+ 1
A. Oumnad
1001
Une machine 4 bits peut donc reprsenter les nombres suivants
Ngatifs
-1
-2
-3
-4
-5
-6
-7
-8
1111
1110
1101
1100
1011
1010
1001
1000
Positifs
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
Remarquons que pour les nombres positifs, le MSB est gal 0 et pour les nombres ngatifs le MSB est
gal 1. C'est ainsi qu'on peut tester si le rsultat d'une opration est juste. La rgle est simple :
- la somme de 2 nombres positifs doit donner un nombre positif
- la somme de 2 nombres ngatifs doit donner un nombre ngatif
L'erreur se produit quand il y a dbordement, c.a.d quand le rsultat dpasse le nombre maximum que la
machine peut reprsenter soit +7 pour les nombres positifs ou -8 pour les nombres ngatifs. Une erreur
peut se produire quand on ajoute des nombres de mme signe. Il y a erreur quand le signe du rsultat est
diffrent de celui des deux oprandes
0011 (3)
+0100 (4)
0111 (7)
I.6.2 --
0101 (5)
+0110 (6)
erreur
La multiplication
Regardons d'abord comment on fait une multiplication en base 2 sur un aspect mathmatique pur sans
limitation sur le nombre de bits. Remarquons au passage qu'ici on considre que tous les nombres sont
positifs car le concept de reprsentation des nombres ngatifs par le complment 2 n'est valable que si
on travaille avec un nombre de bit fixe.
1011 (11)
*1101 (13)
1011
1011
1011 .
10001111 (143)
Regardons maintenant comment on doit procder si on travaille avec des nombres signs sur un nombre
de bit fixe :
On commence procder de la mme faon sauf que l'addition doit se faire sur 4 bits seulement, les
bits de gauches seront ignors.
On vrifiera que le rsultat est juste en vrifiant les rgles suivantes :
Le produit de deux nombres de mme signe doit tre positif
Le produit de deux nombres de signes diffrents doit tre ngatif
0010
*0011
0010
0 010
0110
A. Oumnad
1110 (-2)
* 1101 (-3)
(2)
(3)
1110
11 10
111 0
0110 (6)
(6)
1110
*0100
(-2)
(4)
1110
1000
0010
*0101
0010
00 10
(-8)
1010
(2)
(5)
(-6:erreur)
0
1
2
3
4
5
6
7
8
9
BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Exces 3
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
Aiken
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
Johnson
00000
00001
00011
00111
01111
11111
11110
11100
11000
10000
Biquinaire
01 00001
01 00010
01 00100
01 01000
01 10000
10 00001
10 00010
10 00100
10 01000
10 10000
2 parmi 5
11000
00011
00101
00110
01001
01010
01100
10001
10010
10100
Le plus courant est le code DCB (Dcimal cod en binaire), en anglais BCD (Binary Coded decimal), chaque
chiffre du systme dcimal est cod en binaire naturel sur 4 bits.
7956
9801
Dcimal
Binaire (naturel)
1111100010100
10011001001001
BCD
0111 1001 0101 0110
1001 1000 0000 0001
A. Oumnad
Ce systme est trs utilis pour les systmes d'affichage sur afficheurs 7 segments. Pour afficher le
nombre 9801 par exemple, au lieu d'utiliser son code binaire naturel, on utilise le code BCD et chaque
afficheur reoit les 4 bits correspondant un chiffre
1001
1000
0000
0001
II.2 --
Codes rflchis
On dit qu'un code est continu au sens large si dans la table de vrit qui
le dfinit, les tats successifs sont adjacents, cest dire que quand on
passe de l'un l'autre, il y a un seul chiffre qui change.
Un code est continu au sens stricte si en plus le premier et le dernier
tat sont adjacents.
Un code rflchi est un code naturel dont on a renvers le sens de
variation par endroits afin de le rendre continu. On renverse une priode
sur deux en commenant par la deuxime. Le tableau ci-dessous illustre
le code ternaire (base 3) rflchi.
dcba
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Code de Gray
D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
C
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
B
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
A
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
Dcimal Ternaire
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
000
001
002
010
011
012
020
021
022
100
101
102
110
111
112
120
121
122
200
201
202
210
211
212
220
221
222
Ternaire
reflchi
0 0
0 1
0 2
1 2
1 1
1 0
2 0
2 1
2 2
2 2
2 1
2 0
1 0
1 1
1 2
0 2
0 1
0 0
0 0
0 1
0 2
1 2
1 1
1 0
2 0
2 1
2 2
Le code de Gray est le code binaire rflchi, c'est un cas trs important
des codes continu. Il est trs frquemment utilis notamment sur les tables
de Karnaugh pour simplifier les fonctions logiques. Remarquons que le code
de Gray est continu au sens stricte, 0 est adjacent avec 15
Comme on le voit sur la figure, la table de Karnaugh est une table de
vrit reprsente d'une faon particulire. Les adresses des cases sont
reprsentes en code de Gray de sorte ce que toutes les cases qui ont un
cot commun soient adjacentes. Les cases sur les extrmits opposes sont
aussi adjacentes, on peut vrifier les adjacentes suivantes : 0-3, 7-4, 8-11,
15-12, 0-15, 1-14, 2-13, 3-12.
BA
La table de Karnaugh peut tre
utilise pour fabriquer des codes
continus au sens large ou au sens
stricte.
DC
00
01
00
01
11
10
15
11
6
9
10
5
10
14
3
4
11
13
12
00
01
0
00
11
10
15
BA
DC
00
11
10
15
10
14
11
13
01
12
11
1
5
10
14
10
2
13
10
10
2
00
01
01
11
A. Oumnad
3
4
11
A
B
C
D
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
A
B
C
D
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
12
Algbre de Boole
0
Interrupteur
0
Lampe
1
III.2 --
Variable boolenne
III.3 --
Fonction boolenne
C'est une fonction de une ou plusieurs variables boolennes, ne pouvant prendre elle-mme qu'une des
deux valeurs 0 ou 1. Pour la dfinir, il faut prciser sa valeur pour toutes les combinaisons possible. Cela
peut se faire de plusieurs faons :
Par la donne d'une figure illustrant le fonctionnement d'un systme. Cela ne peut se faire que dans les
cas simples.
K1
K2
L
L= f(K1,K2)
K2
0
III.4 --
11
A. Oumnad
Oprateur Logiques
On peut montrer que toute fonction boolenne peut se synthtiser partir d'un nombre trs rduit
de fonctions de deux variables ou l'extension plusieurs variables de ces mmes fonctions. Ces
fonctions sont souvent appeles Oprateurs.
III.4.1 --
Oprateur ET (AND)
A.B
III.4.2 --
B
0
A
A +B
A+B est vraie si au moins une des deux variables A ou B est vraie
A. B
A .B
AB
III.4.5 --
A+B
III.4.4 --
A .B
Oprateur OU (OR)
III.4.3 --
Analogie
A
B
A + B
A. Oumnad
12
A
A
B
L
Le schma ci-dessus met en vidence l'analogie entre la mise en parallle ou en srie de contacteurs
lectriques et les oprateurs logiques AND et OR.
Pour le schma de gauche, les deux contacteurs sont en srie, on a L = A . B
Pour le schma de droite, les deux contacteurs sont en parallle, on a L = A + B
III.5 --
Identits remarquables
A+0=A
A+1=1
A+A=1
A.0=0
A.1=A
A.A=0
IDEMPOTANCE
A+A=A
A.A=A
COMMUTATIVITE
A+B=B+A
A .B=B. A
ASSOCIATIVITE
(A + B)+C = A+(B+C)
(A . B) . C = A .(B .C)
ABSORPTION
A.(A+B) = A
en effet A.(A+B) = AA + AB = A + AB = A.(1+B) = A
DISTRIBUTIVITE
(A + B) . (A + C) = A.(A+C)+B.(A+C)
= A + BA + BC
= A . (1 + B) + BC
= A + BC
A. Oumnad
13
AUTRES IDENTITES
A.B + A.B = A
(A+B).(A+B)=A
En effet : A.B + A.B = A.(B+B) = A . 1 = A
(A+B).(A+B) = A+(B.B) =A + 0 = A
A + AB = A + B
En effet : A + AB = (A + A) . (A + B) = 1 . (A + B) = A + B
III.6 --
Thorme de Morgan
A+B
A.B
A + B = A. B
A. B = A + B
III.7 --
Forme canonique
III.8 --
Thorme de la disjonction
A.B = 0 A B = A + B
CBA
000
001
010
011
100
101
110
111
S(A,B,C)
0
0
0
1
1
1
1
1
III.9 --
A. Oumnad
14
D'aprs la forme canonique, Nous pouvons exprimer toute fonction l'aide de 3 oprateurs, AND, OR
et INVERT (complmenteur). Voyons comment on peut faire pour n'utiliser que l'oprateur NAND pour
exprimer ces fonctions.
INVERT :
A
A
A
A
1
AND
A
B
A.B
OR
A
A+B
B
Mthode pratique :
Si on crit la forme canonique d'une fonction deux variables, on obtient une expression de la forme
: AB + CD + ... dont le schma est le suivant :
A
B
AB + CD
C
D
Synthtisons chaque oprateur avec des NAND
A
B
AB + CD
C
D
A
B
AB + CD
C
D
III.9.1 --
A. Oumnad
15
Un schma AND-OR peut se transformer en un schma NAND condition qu'en suivant n'importe quel
chemin entre une entre et une sortie, on rencontre alternativement un AND et un OR. Le premier tant
obligatoirement un AND et le dernier obligatoirement un OR. Si cette condition n'est pas vrifie, on
peut y remdier en intercalant des oprateurs A.A ou A+A aux endroits adquats. Ceux ci ne changent
rien au fonctionnement d'origine. On les appelle les oprateurs fantmes
Exemple : Pour tre le plus gnral possible, on va prendre une expression qui n'est mme pas sous forme
canonique :
F=([(A+B).C]. (DE)+G).H
A
B
C
D
E
F
Les oprateurs en trait dcoup sont les oprateurs fantmes, ils sont rajouts pour respecter la rgle.
Tous les oprateurs sont ensuite transforms en NAND.
A
B
C
D
E
F
Il s'agit de chercher la fonction la plus simple d'une fonction boolenne. Ceci bien sur dans le but d'avoir
une ralisation avec un nombre minimum d'oprateurs.
Plusieurs mthodes existent, la plus simple est la mthode de Karnaugh (1953)
01
11
10
A. Oumnad
16
Chaque case correspond une ligne de la table de vrit, Les "coordonns de la case reprsente l'adresse
de la case. Elles sont reprsentes en code de Gray. Deux cases sont appeles adjacentes dans le diagramme
de Karnaugh si elles ont un cot commun.
Sur le diagramme si contre, les cases K et L, M et N, P et Q, Q et R sont
respectivement adjacentes. La proprit caractristique du diagramme de
Karnaugh est que les adresse de deux cases adjacentes sont des nombres
adjacents, quand on passe le l'un l'autre il n'y a qu'un bit qui change :
K0001
P1100
M1111
Q1000
L0101
Q1000
N1110
R1001
Remarquons que les cases P et N ainsi que K et R ont des adresses adjacentes :
P1100
K0001
N1110
R1001
CD
00 01 11 10
K
00
AB
01
11 P
10 Q
M N
R
On gnralise la notion d'adjacence au niveau du diagramme en disant que deux cases sont
adjacentes quand leurs adresses le sont. Ainsi les cases de lextrmit droite sont adjacentes celles
de lextrmit gauche et les case de lextrmit suprieure sont adjacentes celles de lextrmit
infrieure.
Cela se passe comme si on enroulait la feuille de papier sur laquelle est dessin le diagramme de
Karnaugh d'abord horizontalement puis verticalement.
P
Q
10
11
12
13
14
15
00
01
11
10
\CD
12
AB
00
A. Oumnad
8
11
10
00
01
11
10
00
12
01
13
11
15
11
10
14
10
15
14
01
10
14
11
11
15
10
13
00
01
11
10
00
01
11
12
13
DC
\BA
10
17
\DC
BA
00
01
11
10
DC\BA
00
01
11
10
DC
BA\
00
01
11
10
00
00
00
01
01
01
11
11
11
10
10
10
On remarque donc que si n est le nombre de variables de la fonction est m est le nombre de variable
qui constituent un monme, le nombre de 1 correspondant a ce monme dans le diagramme de Karnaugh
est de 2n-m.
A. Oumnad
18
00 01 11 10
00 01 11 10
00 01 11 10
1
01
11
10
ABC
ABD
ACD
BCD
Deux rectangles deux cases peuvent leur tour tre adjacents, ils seront groups en un rectangle
de 4 cases auquel correspond un monme 2 variables.
CD
00 01 11 10
AB
00
1 1
01
00 01 11 10
00 01 11 10
11
10
ABD+ABD
= ACD + ACD =
AD
De la mme manire, 2 rectangles de 4 cases peuvent leur tour tre adjacents, ils seront groups en
un rectangle de 8 cases auquel correspond un monme une variable.
CD
00 01 11 10
00 01 11 10
00 01 11 10
00 01 11 10
AB
00
01
11
10
AC+AC
AD+AD
AB+AB
A. Oumnad
19
CD
De la mme manire, 2 rectangles de 8 cases peuvent leur tour tre AB
00 01 11 10
groups en un rectangle de 16 cases, dans ce cas la fonction est toujours
00 1 1 1 1
vraie, fonction = 1 et on n'a mme pas besoin de dresser un diagramme de
01
1
Karnaugh. .
11
Reprenons la fonction G cite prcdemment et partons du diagramme de
1 1
Karnaugh pour arriver l'expression logique la plus simple. On essaye de faire les
10 1 1
1 1
plus grand rectangle possible car on sait maintenant que plus le rectangle, plus le
monme qui lui correspond est 'petit' . L'expression la plus simple de la fonction G est donc : G = B + AC +
CD
Rgle de groupement :
Pour obtenir l'expression la plus simple d'une fonction boolenne donne par son diagramme de
Karnaugh, il faut respecter les points suivants :
Tous les 1 doivent tre entours
Les 0 ne doivent pas tre entour
Il faut faire les plus grands groupements possibles
Les x peuvent tre entour ou non selon le besoin
Les 1 et les x peuvent tre entour plusieurs fois
On s'arrete ds que tous les 1 sont entours
S = C17 + C20
A. Oumnad
C17
C17
C20
C20
IV.2 --
20
G3
G2
G1
G0
11
10
BA
00
00
01
0
01
DC
0
1
11
0
10
0
0
1
00 01
0 0
G2=CD+CD=CD
BA
DC
00 01 11 10
00 0
01 0
11 0
10 0
G0=AB+AB=AB
11 10
1 1
G1=BC+BC=BC
A
B
G0
G1
G2
G3
IV.3 --
A. Oumnad
21
Tr
Tv
Obsevation
BP
A
00 01 11 10
BP
A
00 01 11 10
M=BP + AP
BP
A
00 01 11 10
0 0
1 0
Tr = AP
Tv = BP