Académique Documents
Professionnel Documents
Culture Documents
LICENCE ACADEMIQUE
Socle Commun
MATHEMATIQUES et INFORMATIQUE
Structure machine 1
Par
Dr. Mohamed Yassine Haouam
Table des matières
Introduction générale 7
0.1 Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 La représentation de l'information 21
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Le codage binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 Le code binaire pur . . . . . . . . . . . . . . . . . . . . . . . . 22
4 Table des matières
3 L'algèbre de Boole 47
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Opérateurs de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.1 Opérateur de négation (NON, NOT, ¯ ) . . . . . . . . . . . . 48
3.2.2 Disjonction (ou somme) . . . . . . . . . . . . . . . . . . . . . 48
3.2.3 Conjonction (ou produit) . . . . . . . . . . . . . . . . . . . . 49
3.2.4 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3 Autres opérateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3.1 Opérateur NAND . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3.2 Opérateur NOR . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.3 Opérateur XOR (OU Exclusif) . . . . . . . . . . . . . . . . . 52
3.4 Fonctions Booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.2 Représentation d'une fonction booléenne . . . . . . . . . . . . 53
Table des matières 5
Sommaire
0.1 Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . . 8
8
Sommaire
1.1 Dénitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Les systèmes de numération . . . . . . . . . . . . . . . . . . . 11
1.2.1 Le système de numération décimal . . . . . . . . . . . . . . . 11
1.2.2 Le système binaire . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.3 Le système octal . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.4 Le système hexadécimal . . . . . . . . . . . . . . . . . . . . . 12
1.2.5 Passage de la base 10 vers une base quelconque . . . . . . . . 12
1.2.6 Passage d'une base quelconque à la base 10 . . . . . . . . . . 13
1.2.7 Cas des bases 2, 8 et 16 . . . . . . . . . . . . . . . . . . . . . 13
1.3 Arithmétique en binaire, sans signe . . . . . . . . . . . . . . 14
1.3.1 L'addition (+) . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 La soustraction (−) . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.3 La multiplication (×) . . . . . . . . . . . . . . . . . . . . . . 16
1.3.4 La division (÷) . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Exercices de TD 1 . . . . . . . . . . . . . . . . . . . . . . . . . 18
10 Chapitre 1. Les systèmes de numération
1.1 Dénitions
DIGIT : Contraction de "digital unit" unité digitale. Un digit est un élément
d'information numérique de base quelconque.
Par exemple, les nombres (1644)10 et (A84F )16 sont constitués chacun de 4
digits.
Poids d'un DIGIT : La valeur de chaque digit dépend de sa position. A chaque
rang (position), est aecté un poids.
BIT : Contraction de "binary digit" digit binaire. Un bit ne peut prendre que
deux états 0 ou 1.
Par exemple, le nombre binaire 10100101 est constitué de 8 bits.
Nombre : Un nombre (mot) est la concaténation de plusieurs digits ou bits.
par exemple : 256, 101, 2F4B.
Octet : Un octet est un mot de 8 bits.
Par exemple, 10110110 est un octet.
Base : Un nombre est écrit en base B, chacun de ses digits peut être écrit avec
B symboles diérents.
Exemples :
En base 10 [10 symboles] : 0 1 2 3 4 5 6 7 8 9.
En base 16 [16 symboles] : 0 1 2 3 4 5 6 7 8 9 A B C D E F.
Capacité de comptage : Avec N digits écrits en base B, on peut compter de
0 à B N − 1, soit B N nombres diérents.
Par exemple, avec un nombre de 3 digits en base 10, on peut compter de 0 à 999
(1000 nombres).
Décomposition d'un nombre : De façon générale, un nombre N quelconque
peut être représenté dans un système de numération en base B sous l'une des deux
formes suivantes :
Première forme :
Deuxième forme :
2 × 82 + 6 × 81 + 3 × 80 + 2 × 8−1
1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 + 0 × 2−1 + 1 × 2−2
12 Chapitre 1. Les systèmes de numération
2 × 82 + 3 × 81 + 5 × 80 + 7 × 8−1
0+1=1+0=1
1+1=0 Retenue 1
1+1+1=1 Retenue 1
Exemple
(0100010)2 + (0100111)2 = (1001001)2
Remarque :
Le codage dans l'ordinateur doit s'eectuer sur un nombre de bits xe. Lors
d'une opération arithmétique, s'il y a une retenue qui est générée par le bit du poids
fort on dit qu'il y a un débordement ou dépassement de capacité (overow).
Exemple : nombres représentés sur 4 bits
à celui de même rang de A. Cet emprunt sera ajouté au bit du rang suivant du
nombre B.
Dans la représentation binaire, la soustraction s'eectue selon les règles sui-
vantes :
0−0=0
1−0=1
1−1=0
0−1=1 On emprunte 1
Exemple
(1010)2 − (0011)2 = (0111)2
1.4 Exercices de TD 1
Exercice 1
Compléter le tableau de conversion
Exercice 2
Donner la valeur numérique décimal des nombres suivants :
(10010, 01)2 , (0, 1101)2 , (534, 72)8 , (52, 324)8 , (F, 4)16 , (D3, E)16 , (1111, 1)16
Exercice 3
Convertir en binaire les nombres suivants :
(152, 234)10 , (0, 25)10 , (534, 72)8 , (12, 324)8 , (F, 4)16 , (D3, E)16 , (1111, 1)16
Exercice 4
Convertir en octal les nombres suivants :
(77, 175)10 , (20, 515625)10 , (1110000101, 1101)2 , (1010101, 000001)2 , (F 1, 04)16 ,
(D3, 3E)16 , (40A, B1)16
Exercice 5
Convertir en hexadécimal les nombres suivants :
(255, 875)10 , (613, 25)10 , (1110000101, 1101)2 , (1010101, 000001)2 , (321, 04)8 ,
(173, 305)8 , (400, 651)8
1.4. Exercices de TD 1 19
Exercice 6
Etablir les conversions suivantes :
(414.23)5 = (?)10 , (440.44)10 = (?)5
Exercice 7
Eectuer les opérations binaires suivantes :
110011101+10110111 =? 11011, 01+101, 1101 =? 1001+1101+110+1011 =?
1100101001 - 110110110 = ? 1101,101 - 11,10111= ?
110110 × 101 =? 111, 001 × 1, 11 =? 11, 101 × 11, 01 =?
1110111 ÷ 1001 =? 1011 ÷ 11 =? 100, 0001 ÷ 10, 1 =?
Exercice 8
Eectuer les opérations suivantes :
en base 8 : 2566 × 44 =?
en base 16 : AABB058 + 112554 =?
en base 16 : A2B, CD − 4C, F F =?
Exercice 9
Déterminer la base b pour que les égalités ci-dessous soient vraies.
(132)b = (30)10 (2A)16 = (36)b 22b × 21b = 502b
Chapitre 2
La représentation de l'information
Sommaire
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Le codage binaire . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 Le code binaire pur . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 Le code Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3 Le code DCB (Décimal codé binaire) . . . . . . . . . . . . . . 24
2.2.4 Le code à excès de 3 . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Représentation des caractères . . . . . . . . . . . . . . . . . . 27
2.3.1 Le code ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.2 Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.3 UTF-8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4 Représentation des nombres signés . . . . . . . . . . . . . . . 29
2.4.1 Codage en signe-valeur absolue . . . . . . . . . . . . . . . . . 30
2.4.2 Codage en complément à 1 . . . . . . . . . . . . . . . . . . . 31
2.4.3 Codage en complément à 2 . . . . . . . . . . . . . . . . . . . 32
2.5 Représentation des nombres réels . . . . . . . . . . . . . . . . 36
2.5.1 Représentations en virgule xe . . . . . . . . . . . . . . . . . 37
2.5.2 Représentations en virgule ottante (norme IEEE 754) . . . . 37
2.5.3 Arithmétique à virgule ottante . . . . . . . . . . . . . . . . 41
2.6 Exercices de TD 2 . . . . . . . . . . . . . . . . . . . . . . . . . 43
22 Chapitre 2. La représentation de l'information
2.1 Introduction
On utilise la représentation binaire car elle est simple, facile à réaliser techni-
quement à l'aide de bistables (système à deux états réalisés à l'aide de transistors).
Code Gray : g3 g2 g1 g0
g3 = b3 = 1
g2 = b3 ⊕ b2 = 1 ⊕ 1 = 0
g1 = b2 ⊕ b1 = 1 ⊕ 1 = 0
g0 = b1 ⊕ b0 = 1 ⊕ 0 = 1
Donc, le code Gray correspondant est : 1 0 0 1
Conversion Gray-Binaire
Soit un nombre G en code Gray, pour obtenir son équivalent B en code binaire
pur, il sut d'eectuer les opérations suivantes :
Bn = Gn
B(n−1) = Bn ⊕ G(n−1)
....
B2 = B3 ⊕ G2
B1 = B2 ⊕ G1
B0 = B1 ⊕ G0
L'addition en BCD
On eectue l'addition en motifs de 4 bits. Si le résultat dépasse 9, il faut
apporter une correction en ajoutant la valeur 6 (0110)2 .
Exemple :
1 1
4386 0100 0011 1000 0110
+ 2893 + 0010 1000 1001 0011
= 7279 = 0111 1100 10001 1001
0110 0110
7279 ⇐ 0111 0010 0111 1001
La soustraction en BCD
On eectue la soustraction en motifs de 4 bits. Si le résultat dépasse 9, il faut
apporter une correction par soustraction de la valeur 6 (0110)2 .
26 Chapitre 2. La représentation de l'information
Exemple :
11 1000 1111 11
4386 0100 0011 1000 0110
− 2893 − 0010 1000 1001 0011
= 1493 = 0001 1010 1111 0011
0110 0110
1493 ⇐ 0001 0100 1001 0011
Limitations
Le code ASCII, comme son nom l'indique, est un code américain et ne permet
donc de coder aucun des caractères spéciaux qui apparaissent dans les autres langues
européennes comme les caractères accentués. Pour les langues qui utilisent d'autres
alphabets comme l'arabe ou pour les langues orientales (chinois, japonais, coréen),
le code ASCII est complètement inadéquat.
2.3.2 Unicode
Dans la norme Unicode, chaque caractère est représenté sur 16 bits, ce qui per-
met de coder 65536 caractères diérents ; c'est susant pour représenter tous les
caractères spéciques aux diérentes langues.
En utilisant Unicode, on peut mélanger plusieurs alphabets dans un même do-
cument, sans avoir besoin de changer de système de codage. Il est actuellement en
train de s'imposer comme le standard de codage de caractères le plus répandu.
2.4. Représentation des nombres signés 29
Le codage Unicode présente deux inconvénients : les documents sont deux fois
plus gros qu'avec le code ASCII et il est incompatible avec l'ASCII.
2.3.3 UTF-8
Unicode est incompatible avec le code ASCII, ce qui est un réel problème. La
solution consiste à lui associer un autre code, UTF-8 comme Unicode Translation
Format 8 bits, qui permet de maintenir la compatibilité avec le code ASCII.
En UTF-8, chaque caractère est codé sur un, deux, trois ou quatre octets. Tous
les caractères du code ASCII sont codés en UTF-8 sur un octet avec la même valeur
qu'en ASCII.
UFT-8 donne le moyen de diérencier les codes ASCII des codes Unicode.
Pour ASCII, le bit de poids fort est nul et les 7 autres bits donnent le code
ASCII.
Pour Unicode, Les octets ne sont pas remplis entièrement. Les bits de poids fort
du premier octet forment une suite de 1 indiquant le nombre d'octets utilisés pour
coder le caractère. Les octets suivants commencent tous par le bloc binaire 10.
Le tableau suivant résume le format des diérents types d'octets.
La représentation en complément à un ;
−12 = 10001100
Capacité
Désavantages
En utilisant cette méthode, on peut remarquer que le zéro a deux représentations
diérentes. Ce qui conduit à des dicultés au niveau des opérations arithmétiques.
Exemple : si le nombre est codé sur 8 bits
0 = 00000000
−0 = 10000000
Un autre problème avec la représentation signe-valeur absolue est que, pour
les opérations arithmétiques, il nous faut deux circuits : l'un pour l'addition et le
deuxième pour la soustraction.
Capacité
En utilisant n bits, bit de signe inclut, un nombre représenté en complément à
un peut prendre toute valeur comprise entre : [−(2n−1 − 1), +(2n−1 − 1)]
L'addition en complément à 1
En complément à 1, la soustraction d'un nombre se réduit à l'addition de son
complément (un seul circuit pour les deux opérations : addition et soustraction). Si
une retenue est générée par le bit de signe, elle doit être ajoutée au résultat obtenue.
Exemple 1 (pour n = 8 bits)
−84 + 23 =?
(−84)10 = (10101011)ca1
32 Chapitre 2. La représentation de l'information
(+23)10 = (00010111)ca1
10101011 −84
+ 00010111 +23
= 11000010 −61
Désavantages
Cette méthode est relativement simple, mais pose exactement le même problème
que la représentation signe-valeur absolue. Le zéro est toujours représenté par deux
nombres diérents : un nombre ne contenant que des 0 (0000 0000 ...), et un nombre
ne contenant que des 1 (1111 1111 ...).
(96)10 = (01100000)2
(−96)10 = (10011111)ca1
2.4. Représentation des nombres signés 33
(10011111)ca1 + 1 = (10100000)ca2
Capacité
Extension de signe
Dans un ordinateur, tous les nombres sont représentés sur un nombre xé et
constant de bits. Ainsi, les circuits d'un ordinateur ne peuvent manipuler que des
nombres de 4, 8, 12, 16, 32, 48, 64 bits, suivant l'ordinateur. Si l'on veut utiliser un
entier codé sur 16 bits et que l'ordinateur ne peut manipuler que des nombres de 32
bits, il faut bien trouver un moyen de convertir notre nombre de 16 bits en un nombre
de 32 bits, sans changer sa valeur et en conservant son signe. Cette conversion qui
augmente la taille de représentation d'un entier sans modier sa valeur ni son signe
s'appelle l'extension de signe, ou sign extend.
L'extension de signe des nombres positifs ne pose aucun problème : il sut de
remplir les bits à gauche de notre nombre de base avec des 0 jusqu'à arriver à la taille
voulue. C'est la même chose qu'en décimal : rajouter des zéros à gauche d'un nombre
ne changera pas sa valeur. Cela marche quelque soit la représentation utilisée, que
ce soit la représentation signe-valeur absolue, le complément à 1 ou complément à
2.
Par exemple, si je veux convertir l'entier positif (0100 0101), codé sur 8 bits,
en un entier équivalent mais en utilisant 16 bits, il me sut de remplir les 8 bits à
gauche par des 0. On obtient ainsi (0000 0000 0100 0101).
Pour les nombres négatifs, la conversion dépend de la représentation utilisée.
Avec le complément à 1 et le complément à 2, l'extension de signe d'un entier
négatif est simple à eectuer : il sut de remplir les bits à gauche du nombre à
convertir avec des 1, jusqu'à obtenir le bon nombre de bits.
Par exemple, prenons le nombre -128, codé sur 8 bits en complément à deux :
(1000 0000). On veut le convertir en nombre sur 16 bits. Il sut pour cela de remplir
34 Chapitre 2. La représentation de l'information
les 8 bits de poids fort (les 8 bits les plus à gauche) de 1 : on obtient (1111 1111
1000 0000).
L'addition en complément à 2
(−84)10 = (10101100)ca2
(+23)10 = (00010111)ca2
10101100 −84
+ 00010111 +23
= 11000011 −61
(−23)10 = (11101001)ca2
11000011 −61
+ 11101001 −23
= 1 10101100 −84
Débordement (Overow)
Cas 1 : 5 - 8 = ?
0
+5 00101
−8 11000
= 0 11101
Cas 2 : 9 - 8 = ?
1
+9 01001
−8 11000
= 1 00001
- Résultat sur 6 bits mais calcul correct (les 2 dernières retenues sont identiques).
- Le bit de débordement (le 6ème bit) est à ignorer.
- Le 5ème bit = 0 : nombre positif.
- Résultat : (00001)ca2 = (00001)2 = 1.
36 Chapitre 2. La représentation de l'information
Cas 3 : 9 + 8 = ?
1
+9 01001
+8 01000
= 0 10001
Cas 4 : -9 -8 = ?
0
−9 10111
−8 11000
= 1 01111
Cas 5 : -5 -8 = ?
1
−5 11011
−8 11000
= 1 10011
- Résultat sur 6 bits mais calcul correct (les 2 dernières retenues sont identiques).
- Le bit de débordement (le 6ème bit) est à ignorer.
- Le 5ème bit = 1 : nombre négatif.
- Résultat : (10011)ca2 = −(01101)2 = -13.
La virgule xe ;
La virgule ottante.
L'écriture d'un nombre ottant en binaire est basée sur son écriture normalisée.
Cela permet de coder beaucoup plus de valeurs qu'un nombre en virgule xe, à
nombre de bits égal. En décimal, l'écriture normalisée d'un nombre consiste à écrire
celui-ci comme un produit entre un nombre et une puissance de 10 de la forme :
N = ∓a × 10Exposant
La norme IEEE 754 impose diverses choses concernant la façon dont on gère nos
ottants. Les ottants doivent être stockés dans la mémoire d'une certaine façon,
standardisée par la norme.
Quatre formats sont généralement utilisés :
Simple précision (32 bits)
Simple précision étendue
Double précision (64 bits)
Double précision étendue
Dans ce cours, nous ne présentons que les formats simple et double précision
(voir gure 2.3)
Mantisse
Pour représenter un nombre ottant, seule la partie fractionnaire, qu'on appelle
mantisse, est stockée en machine. le chire situé à gauche de la virgule n'est pas
2.5. Représentation des nombres réels 39
stocké en machine. Ce bit , appelé bit caché ou bit implicite, est stocké dans notre
nombre ottant de façon implicite, ce qui permet d'économiser un bit, et peut se
déduire en fonction de l'exposant. Pour les nombres normalisés, ce bit est toujours
égale à 1 et ne vaut 0 que dans le cas des ottants dénormalisés.
Exposant
L'exposant est un entier relatif (peut être positif ou négatif). Cependant, la re-
présentation habituelle des nombres signés (complément à 2) rendrait la comparaison
entre les nombres ottants un peu plus dicile. Pour régler ce problème, l'exposant
est décalé, an de le stocker sous forme d'un nombre non signé. Ce décalage de
2ne−1 − 1 est appelé biais.
L'exposant est codé sur 8 bits est décalé de 127 (simple précision) ou sur 11 bits
est décalé de 1023 (double précision).
Exemples :
1. Représentation du nombre −3, 625 en IEEE 754 simple précision :
(3, 625)10 = (11, 101)2
Cas exceptionnels
En plus des ottants normalisés, IEEE 754 impose aussi le support de certains
nombres ottants spéciaux. Parmi eux, on trouve l'inni (aussi bien en négatif qu'en
positif), la valeur NaN, utilisée pour signaler le résultat erroné d'une opération, ou
des nombres dénormalisés qui représentent des valeurs très petites (voir la table 2.1).
Le zéro
Le zéro est un ottant spécial avec deux représentations possibles (+0 et −0),
suivant le bit de signe.
Nombres dénormalisés
Il existe un plus petit nombre strictement positif représentable en normalisé.
2.5. Représentation des nombres réels 41
L'inni
Si les bits de l'exposant valent 255 et que la mantisse vaut 0, alors le nombre
représente l'inni (+∞ ou −∞ suivant la valeur du bit de signe).
NaN
Ce code est utilisé pour représenter le résultat d'une opération aberrante, par
0 √
exemple ou −4.
0
A= (0 10000000 11000000000000000000000)
B= (0 10000001 01010000000000000000000)
A = 1, 11 × 21
B = 1, 0101 × 22
3. Normalisation du résultat :
A + B = 1, 00011 × 23
Multiplication et division
La multiplication (division) implique :
4. on normalise.
2. calcul de l'exposant :
EB = 10000000 + 10000001 − (127)2 = 10000010
4. normalisation du résultat :
EB = 10000011
A × B =(1 10000011 00100110000000000000000)
2.6 Exercices de TD 2
Exercice 1
Convertissez les nombres binaires suivants en code gray
(100000)2 (100001)2 (100010)2
Exercice 2
Donnez le code binaire des nombres suivant exprimés en code Gray
(101111)Gray (101101)Gray (1011001)Gray
Exercice 3
Eectuer en BCD les opérations suivantes :
(a) 3987.137 + 54.84 = ?
(b) 1094.77 + 493.26 = ?
(c) 1760.56 - 970.25 = ?
(d) 5009.05 - 360.48 = ?
Exercice 4
Soit une série de caractères codés en ASCII (les octets sont notés en hexadéci-
mal) :
4A 27 41 49 20 54 52 4F 55 56 45 20 4C 41 20 53 4F 4C 55 54 49 4F 4E 20 21
En utilisant la table ASCII (Fig. 2.1) , trouver le texte correspondant.
Exercice 5
Soit la séquence de caractères suivant en UTF-8 (les octets sont notés en hexa-
décimal) :
44 Chapitre 2. La représentation de l'information
C3 A9 6C C3 A8 76 65 73
En utilisant la table ASCII (Fig. 2.1) et le tableau UTF-8 (Fig. 2.6), trouver le
texte correspondant.
Exercice 6
Eectuer les conversions suivantes :
(dans cet exercice, les représentations sont sur 8 bits)
Exercice 7
Donner la valeur décimale signée de chacune des représentations suivantes :
(00010000)SV A (00011000)Ca1 (00010001)Ca2
(10011110)SV A (11100110)Ca1 (11100111)Ca2
Exercice 8
Eectuer en Cà1 les opérations suivantes (rep. sur 8 bits). Convertir le résultat
en décimal :
-25 + 13 = ? +120 + 7 = ? -109 - 6 = ?
-119 - 40 = ? -120 - 8 = ? -80 + 115 = ?
Exercice 9
Eectuer en Cà2 les opérations suivantes (représentations sur 8 bits). Convertir
le résultat en décimal :
-128 + 40 = ? +104 + 15 = ? -109 - 6 = ?
-119 - 40 = ? -120 - 8 = ? -80 + 115 = ?
2.6. Exercices de TD 2 45
Exercice 10
Représenter en format IEEE 754 simple précision les nombres réels suivants :
(Présenter le résultat sous la forme d'une suite de chires hexadécimaux)
+716.8 - 93.625 + 0.0125
Exercice 11
Représenter le nombre - 205.3 en format IEEE 754 double précision (Présenter
le résultat sous la forme d'une suite de chires hexadécimaux)
Exercice 12
Déterminer la valeur décimale de chacun des nombres codés en IEEE 754 simple
précision :
(a) (0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
(b) (C 0 6 0 0 0 0 0)représentation 16
(c) (4 3 1 F 5 0 0 0)représentation 16
Exercice 13
Eectuer en IEEE 754 simple précision les opérations suivantes :
(a) 3EE00000 + 3D800000 =?
(b) C8800000 + C8000000 =?
(c) C1100000 × 40C00000 =?
(d) 41480000 ÷ 404800000 =?
46 Chapitre 2. La représentation de l'information
L'algèbre de Boole
Sommaire
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Opérateurs de base . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.1 Opérateur de négation (NON, NOT, ¯ ) . . . . . . . . . . . . 48
3.2.2 Disjonction (ou somme) . . . . . . . . . . . . . . . . . . . . . 48
3.2.3 Conjonction (ou produit) . . . . . . . . . . . . . . . . . . . . 49
3.2.4 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3 Autres opérateurs logiques . . . . . . . . . . . . . . . . . . . . 51
3.3.1 Opérateur NAND . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3.2 Opérateur NOR . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.3 Opérateur XOR (OU Exclusif) . . . . . . . . . . . . . . . . . 52
3.4 Fonctions Booléennes . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.2 Représentation d'une fonction booléenne . . . . . . . . . . . . 53
3.4.3 Formes canoniques . . . . . . . . . . . . . . . . . . . . . . . . 54
3.5 Simplication d'une fonction logique . . . . . . . . . . . . . . 57
3.5.1 Simplication algébrique . . . . . . . . . . . . . . . . . . . . . 58
3.5.2 Simplication par le diagramme de Karnaugh . . . . . . . . . 58
3.5.3 Méthode de Quine-McCluskey . . . . . . . . . . . . . . . . . 62
3.6 Exercices de TD 3 . . . . . . . . . . . . . . . . . . . . . . . . . 69
48 Chapitre 3. L'algèbre de Boole
3.1 Introduction
George Boole à dénit vers 1847 un algèbre qui s'applique à des fonctions logiques
de variables logiques (variable booléennes). L'algèbre de Boole aide à comprendre
et concevoir les circuits électroniques de l'ordinateur. En général, l'algèbre de Boole
est une structure mathématique qui permet d'exprimer le fonctionnement de tout
système logique à deux états. Les conditions y sont représentées par des variables et
les relations par des opérateurs et on peut relier variables et opérateurs sous forme
d'équations. De plus il existe des règles qui permettent de simplier les équations.
A Y =A
0 1
1 0
A B S =A+B
0 0 0
0 1 1
1 0 1
1 1 1
La conjonction est une opération binaire qui peut être notée par ".", "et" ou
bien "and". Cette opération est représentée par le symbole indiqué dans la gure
3.3 et est dénie par la table de vérité suivante :
A B S = A.B
0 0 0
0 1 0
1 0 0
1 1 1
3.2.4 Propriétés
Commutativité
x+y =y+x
x.y = y.x
Associativité
(x + y) + z = x + (y + z)
(x.y).z = x.(y.z)
Distributivité
x + (y.z) = (x + y).(x + z)
Idempotence
x+x=x
x.x = x
Complément
x+x=1
x.x = 0
Elément Neutre
x+0=x
x.1 = x
Elément absorbant
x+1=1
x.0 = 0
3.3. Autres opérateurs logiques 51
Involution
x=x
Lois de De Morgan
x + y = x.y
x.y = x + y
Simplication
x + x.y = x + y
x.(x + y) = x.y
Absorption
x + x.y = x
x.(x + y) = x
A B F = AB
0 0 1
0 1 1
1 0 1
1 1 0
A B F =A+B
0 0 1
0 1 0
1 0 0
1 1 0
A B F =A⊕B
0 0 0
0 1 1
1 0 1
1 1 0
L'opérateur XOR est associatif : (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C)
3.4. Fonctions Booléennes 53
3.4.1 Dénition
Il existe plusieurs manières de représenter les fonctions logiques. Parmi les plus
courantes, nous noterons :
la table de vérité
la représentation algébrique
Table de vérité
la table de vérité est une table unique qui dénit la valeur de la fonction pour
chaque combinaison de valeurs possibles en entrée.
Exemple
x y z f
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
Représentation algébrique
Une fonction de n variables peut être dénie à partir d'une combinaison des
variables de la fonction via les opérateurs de base de l'algèbre de Boole.
Exemple
Fonction booléenne de trois (03) variables : x, y et z
f (x, y, z) = x.y + z.(x.y + y)
Minterme - Maxterme
On appelle "Minterme" de n variables, l'un des produits booléens de ces va-
riables ou de leurs complémentaires.
Exemple : Si on considère 4 variables a, b, c et d
a.b.c.d est un minterme, par contre a.b.d n'est pas un minterme.
3.4. Fonctions Booléennes 55
Remarques :
Remarques :
x y z Mintermes Maxtermes
0 0 0 m0 = x.y.z M0 = x + y + z
0 0 1 m1 = x.y.z M1 = x + y + z
0 1 0 m2 = x.y.z M2 = x + y + z
0 1 1 m3 = x.y.z M3 = x + y + z
1 0 0 m4 = x.y.z M4 = x + y + z
1 0 1 m5 = x.y.z M5 = x + y + z
1 1 0 m6 = x.y.z M6 = x + y + z
1 1 1 m7 = x.y.z M7 = x + y + z
Propriété :
56 Chapitre 3. L'algèbre de Boole
x y z f
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
trois inverseurs
un inverseur
On appelle forme minimale d'une expression logique l'expression sous forme ré-
duite qui comporte :
La méthode algébrique.
La simplication à l'aide des tableaux de Karnaugh
La méthode de QUINE-MAC CLUSKEY
Solution :
f 1(a, b, c) = ab(c + c) + ab(c + c) + abc
f 1(a, b, c) = ab + ab + abc
f 1(a, b, c) = a(b + b) + abc
f 1(a, b, c) = a + abc
f 1(a, b, c) = a + bc (d'après le théorème : x + xy = x + y )
f 2(a, b, c) = (a + b) + c + bc
f 2(a, b, c) = ab + c + bc
f 2(a, b, c) = ab + c + b
f 2(a, b, c) = b + c (d'après le théorème d'absorption : x + xy = x )
Exemple
62 Chapitre 3. L'algèbre de Boole
un groupe de 4 cases (dans le tableau avec a=0) : qui donne le terme abe
un groupe de 4 cases (dans le tableau avec a=1) : qui donne le terme abc
Étapes de l'algorithme
1. Exprimer la fonction sous forme canonique disjonctive
9. Si on n'a pas ni à l'étape (8), choisir les implicants premiers appropriés
a b c d f
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Classes itération 0
1 1000
2 0101
1010
1100
3 0111
1101
1110
4 1111
Si un terme a déjà été obtenu, on ne le réinscrit plus dans la table (on garde une
seule copie), par contre on repère à l'aide du symbole "1" les deux termes ayant été
66 Chapitre 3. L'algèbre de Boole
combinés.
On réitère le processus jusqu'à ce qu'il n'y ait plus de simplications. Dans
l'exemple, nous pouvons pas réunir aucune paire de termes, l'étape (5) est terminée.
Les termes qui ne peuvent plus être combinés sont repérés à l'aide du symbole
"0".
3.6 Exercices de TD 3
Exercice 1
Trouvez, dans chaque cas, la valeur de X pour toutes les valeurs possibles des
variables A, B et C.
1. X = (A + B).C + B
2. X = (A + B).C
3. X = A.B.C + A.B
4. (A + B)(A + B)
Exercice 2
Démontrez les expressions suivantes :
Exercice 3
Vériez les égalités suivantes :
1. A + A.B = 1
2. (A + A.B.C.(A.D + C) + B.C = A + C
Exercice 4
Soit la fonction F(x,y,z) dénie par la table de vérité suivante :
1. Ecrire la fonction logique correspondant à cette table de vérité sous les 2 formes
canoniques.
x y z F(x,y,z)
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
Exercice 5
Donner les tables de vérité des deux fonctions suivantes :
Exercice 6
Simpliez algébriquement les fonctions suivantes :
Exercice 7
Considérer les fonctions logiques suivantes :
Exercice 8
Soit la fonction F(A, B, C) dénie par la table de vérité suivante :
A B C F(A,B,C)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
Exercice 9
Simpliez en utilisant la méthode de Quine-Mc Cluskey les fonctions suivantes :
1. F 1(A, B, C, D) = B.C.D + A.B.D + A.B.C.D
2. F 2(A, B, C, D) = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D +
A.B.C.D