You are on page 1of 25

Universit Alger 1

Facult des Sciences


Dpartement Mathmatiques et Informatique

Mahseur Mohammed

2015/2016
Codification et reprsentation des nombres MI
Objectifs du cours
Le cours de Codage de l'Information est un cours propos aux tudiants en premire anne de licence
ou technicien en informatique, lectronique, lectrotechnique,...
Il a pour but d'initier les tudiants aux dfrentes problmatiques du codage de l'information :
1. reprsentation des donnes : les nombres entiers ou non, les caractres, les images, . . .
2. connaissance gnrale des codes.
3. Une vision gnrale sur les circuits logiques
Introduction
Quelle que soit la nature de l'information traite par un ordinateur (image, son, texte, vido), elle l'est
toujours reprsente sous la forme d'un ensemble de nombres crits en base 2, par exemple
01001011.
Le terme bit (b minuscule dans les notations) signifie binary digit , c'est--dire 0 ou 1 en
numrotation binaire. Il s'agit de la plus petite unit d'information manipulable par une machine
numrique. Il est possible de reprsenter physiquement cette information binaire par un phnomne
physique (un signal lectrique, magntique..), qui, au-del d'un certain seuil, correspond la valeur 1.
Le codage de linformation permet dtablir une correspondance sans ambigut entre une
reprsentation (dite externe) dune information et une autre reprsentation (dite interne : sous forme
binaire) de la mme information, suivant un ensemble de rgle prcise.

I Chapitre1 : Codification et reprsentation des nombres


I.1 Les bases de numrotation
Plusieurs bases sont possibles : 60 pour reprsenter les minutes et les secondes, 24 pour les heures,
12 pour les mois, 10 la plus utilise par les tres humains, 2 et 8 et 16 sont utilises par les machines.
I.1.1 Dcimal
Ce systme est bas sur dix symboles, de 0 9 (base 10), avec des units suprieures (dizaine, centaine,
etc.)
I.1.2 Binaire
Puisque l'algbre boolenne est la base de l'lectronique numrique. Deux symboles suffisent : 0 et
1(base 2).
I.1.3 Hexadcimal
Du fait de sa simplicit d'utilisation et de reprsentation pour les mots machines (il est bien plus simple
d'utilisation que le binaire). Il faut alors six symboles supplmentaires (base 16) : A (qui reprsente le
10), B (11), C (12), D (13), E (14) et F (15)
I.1.4 Octal
Les nombres sont reprsents sous forme de combinaison de chiffres parmi les suivants : 0, 1, 2, 3, 4,
5, 6, 7 (base 8)
I.1.5 Changement de bases (transcodage)
I.1.5.1 Conversion dcimalbase b
Convertir un nombre dcimal (N)10 vers la base b se fait par la conversion de la partie entire part et
la conversion de la partie dcimale a part :
1
Codification et reprsentation des nombres MI
La partie entire est convertie par divisions euclidiennes successives sur b jusquobtention dun
rsultat de la division gale zro.
Le rsultat de la conversion est obtenu par la composition des restes de la division
La partie dcimale est convertie par multiplications successives de la partie dcimale par la base b,
jusquobtention dune partie fractionnaire nulle ou bien atteindre la prcision dsire, le rsultat de la
conversion est obtenu par la composition de la partie entire des rsultats.
Exemple1 : (143,526)10=(?)2 avec une prcision de sept chiffres aprs la virgule
143 2
71 2
1 35 2
1 17 2
1 2
1 8 4 2
2 2
0 2
0 1
0 0
1

Donc (143)10=(10001111)2
0,526*2=1,052
0,052*2=0,104
0,104*2=0,208
0,208*2=0,416
0,416*2=0,832
0,832*2=1,664
0,664*2=1,328
Donc(0,562)10=(0,1000011)2
Donc(143,526)10=(10001111,1000011)2
Exemple2 : (297,358)10=( ?)8 avec une prcision de cinq chiffres aprs la virgule

297 8
1 37 8
8
5 4
4 0

Donc (297)10=(451)8
0,358*8=2,864
0,864*8=6,912
0,912*8=7,296
0,296*8=2,368
0,368*8=2,944
Donc (0,358)10=(0,26722)8
Do 297,358)10=( 451,26722)8
I.1.5.2 Conversion base bDcimal
Pour convertir un nombre crit en base b (an-1an-2a1a0, a-1a-2a-p)b, il suffit de lcrire sous sa
forme polynomiale dans la base b, ensuite faire laddition dcimale.
(an-1an-2a1a0, a-1a-2a-p)b=an-1xbn-1+an-2xbn-2+..+a1xb1+a0xb0+a-1xb-1+a-2xb-2+..a-pxb-p
Exemple :
(1572,36)8=1x83+5x82+7x81+2x80+3x8-1+6x8-2=512+320+56+2+0,375+0,09375=(890,46875)10

2
Codification et reprsentation des nombres MI
I.1.5.3 Cas particuliers
I.1.5.3.a Conversion binaire octal
Il consiste a regrouper les bits en trois positions de droit gauche pour la partie entire et de gauche
a droit pour la partie dcimale, puis remplacer chaque groupe par son quivalent octal
Exemple : (11010,0111)2=(011 010,011 100)2=(32,34)8
I.1.5.3.b Conversion octal binaire
Il suffit de remplacer chaque digit octal par son quivalent binaire en trois positions
Exemple (726,31)8=(111 010 110,011 001)2
I.1.5.3.c Conversion binaire hexadcimal
Il consiste regrouper les bits en quatre positions de droit gauche pour la partie entire et de gauche
a droit pour la partie dcimale, puis remplacer chaque groupe par son quivalent hexadcimal
Exemple : (11010,10111)2=(0001 1010,1011 1000)2=(1A,B8)16
I.1.5.3.d Conversion hexadcimal binaire
Il suffit de remplacer chaque digit hexadcimal par son quivalent binaire en quatre positions
Exemple (7D6,3E)16=(0111 1101 0110, 0011 1110)2
Remarque : pour convertir un nombre en base b1 vers une base b2 il faut faire la conversion :
b1dcimalb2
I.2 Reprsentation interne des donnes :
La reprsentation interne des donnes consiste donner un codage binaire linformation :
Information externe codage information interne (binaire)
Les ordinateurs traitent deux types dinformations :
1. Les instructions : reprsentent les oprations effectues par lordinateur
2. Les donnes : ce sont les oprandes sur lesquels portent les oprations (caractres, nombres entiers,
nombres fractionnaires)
I.2.1 Reprsentation des Entiers
I.2.1.1 Entiers non signs
Ce sont des nombres positifs, tel quun nombre est reprsent en binaire sur les n bits tels que :
Lintervalle des nombres reprsentables sur n bits : [0, 2n-1].
Avec n bits on peut reprsenter 2n nombres.
ln()
Pour reprsenter en binaire un nombre (N)10, il faut un nombre de bits= ln(2) = log 2 ()

Addition
0+0=0 ; 1+0=0+1=1 ; 1+1=0 avec une retenue gale a 1 ; 1+1+1= 1 avec une retenue gale 1
Exemple :
01110
+
11100
= 101010
Soustraction
0-0=0 ; 1-0=1 ; 1-1=0 ; 0-1 =1 avec 1 emprunt
Exemple :
10110
+
01100
= 01010

3
Codification et reprsentation des nombres MI
Multiplication
0*0=0 ; 1*0=0*1=0 ; 1*1=1

Exemple :
* 10110
101
= 10110
+ 00000 .
10110 . .

1101110
=

Division
1/1=1 ; 0/1=0 ;

Exemple

10010 10
10 01001
00
001
0010
0

I.2.1.2 Entiers signs


Ce sont des nombres possdant un signe + ou -, Il existe 3 mthodes pour les reprsenter :
I.2.1.2.a Signe et valeur absolue (SVA)
Si un nombre est reprsent sur n bits, alors la valeur absolue du nombre est code sur (n-1) bits et le
signe est cod sur le bit du poids fort, par convention 0 reprsente un nombre positif et 1 un nombre
ngatif tels que :
Lintervalle des nombres reprsentables sur n bits en SVA est : [-(2n-1-1), + (2n-1-1)]
Le nombre de reprsentations possibles sur n bits est 2n.
Cette reprsentation parait simple mais elle souffre de problme de complication des oprations
arithmtiques.
I.2.1.2.b Complment 1 (C1)
Dans cette reprsentation : le premier bit est rserv pour le signe et si le nombre est positif alors il
garde son format, sinon (il est ngatif) alors chaque bit est invers (0 devient 1 et 1devient 0).
Tels que :
Lintervalle des nombres reprsentables sur n bits en C1 est : [-(2n-1-1), + (2n-1-1)]
Le nombre de reprsentations possibles sur n bits est 2n.
Exemple : (-5)10 (1101)2 en SVA(1010)2 en C1
Addition (soustraction) en C1
Elle se base sur le principe suivant :
Si aucune retenue nest gnre par le bit de signe, le rsultat est correct, et il est reprsent en C1
Sinon, elle sera enleve et additionne au rsultat de lopration, celui-ci est reprsent en C1
exemple1 : +13-4=+13+(-4)=(01101)SVA+(10100)SVA=(01101)C1+(11011)C1=(101000)C1
on remarque une retenue gnre par le bit de signe donc elle sera ajoute :(01000+1)C1=(01001)C1

4
Codification et reprsentation des nombres MI
Cest un nombre positif donc sa forme en C1=sa forme naturelle=(+1001)2=(+9)10
Exemple 2 : -13+4=(11101)SVA+(00100)SVA=(10010)C1+(00100)C1=(10110)C1
On remarque quil ny a pas de retenue gnre par le bit de signe et le rsultat est un nombre ngatif
en C1 pour le transformer en forme naturelle il faut remplacer le 1 (bit de signe) par le signe (-) puis
inverser le reste des bits, (10110)C1=(-1001)2=(-9)10
I.2.1.2.c Complment 2 (C2)
Dans cette reprsentation : le premier bit est rserv pour le signe, et si le nombre est positif alors il
garde son format, sinon (il est ngatif) il est transform en C1 puis ajout a 1.
Le nombre de reprsentations possibles sur n bits est 2n. Ainsi que lintervalle des nombres
reprsentables sur n bits en C2 est : [-(2n-1), + (2n-1-1)]
Exemple : (-5)10 (1101)2 en SVA(1010)2 en C1(1011)2 en C2
Addition en complment 2
Elle se base sur le principe suivant :
Sil y a une retenue gnre par le bit de signe, elle est ignore et le rsultat est en C2
Sinon le rsultat est correct et il est reprsent en C2.
Exemple1 : +13-4=+13+(-4)=(01101)SVA+(10100)SVA=(01101)C2+(11100)C2=(101001)C2
on remarque une gnre par le bit de signe don il sera nglige : (101001)C2=(01001)C2
Cest un nombre positif donc sa forme en C2=sa forme naturelle=(+1001)2=(+9)10
Exemple 2 : -13+4=(11101)SVA+(00100)SVA=(10011)C2+(00100)C2=(10111)C2
On remarque quil ny a pas de retenue gnre par le bit de singe et le rsultat est un nombre ngatif
en C2 pour le transformer en forme naturelle il faut remplacer le 1 (bit de signe) par le signe (-) puis
soustraire un 1 (devient en C1) puis inverser les bits, (10111)C2=(10110)C1=(-1001)2=(-9)10
I.2.2 Reprsentation des nombres rels
Les formats de reprsentations des nombres rels sont :
I.2.2.1 Format virgule fixe
Utilis par les premires machines, possde une partie entire et une partie dcimale spares par
une virgule. La position de la virgule est fixe do le nom.
Exemple : 54,25(10) ; 10,001(2) ; A1,F0B(16)
I.2.2.2 Format virgule flottante
Utilis actuellement sur machine, dfini par : m . be
un signe + ou
une mantisse m (en virgule fixe)
un exposant e (un entier relative)
une base b (2,8,10,16,)
Exemple : (3,25)10=(32,5x10-1)10=(325x10-2)10=(0,325x101)10
La conversion de 3,25 en binaire donne
3 2
1 2
1
0,25x2=0,5 1 0
0,5x2=1,0
Donc (3,25)10=(11,01)2 (en virgule fixe)
=(1,101x21)2=(0,1101x22)2=(110,1x2-1)2 (en virgule flottante)
Plusieurs manires de reprsenter un nombre rel en virgule flottante (diffrentes valeurs de m et e)
Donc il faut une normalisation
5
Codification et reprsentation des nombres MI
I.2.2.3 Codage en Virgule Flottante Normalis
X 1,M . 2Eb
SM Eb M
1bit p bits q bits
SM : signe de la mantisse, il est cod sur 1 bit ayant le poids fort : le signe : bit 1 ; le signe + : bit 0
Eb : Exposant biais, il est plac avant la mantisse pour simplifier la comparaison ; cod sur p bits et
biais pour assurer dtre positif (ajout de 2p-1-1)
M : Mantisse normalise: la virgule est place aprs le bit 1 ayant le poids fort; elle est code sur q
bits
Exemple : 11,01 = 1,101 x2-1 ; donc M =101
I.2.2.4 Le standard IEE 754 (1985)
(IEEE, que l'on peut prononcer i 3 e : Institute of Electrical and Electronics Engineers)
Cette norme propose la codification suivante :
I.2.2.4.a Simple prcision sur 32 bits :
Signe Eb M
1bit 8 bits 23 bits
1 bit de signe de la mantisse
8 bits pour lexposant
23 bits pour la mantisse
I.2.2.4.b Double prcision sur 64 bits :
SM Eb M
1bit 11 bits 52 bits
1 bit de signe de la mantisse
11 bits pour lexposant
52 bits pour la mantisse
Exemple1 : (35,5)10=( ?)IEE 754 simple prcision
(35,5)10=(100011,1)2(virgule fixe)=(1,000111x25)2 (virgule flottante)
Eb=E+2p-1-1=5+28-1 =5+127=132=(10000100)2
1,M=1,000111M=000111000
SM=0 ; cest un nombre positif
0 10000100 00011100000000000000000
1bit 8 bits 23 bits
Exemple2 : (01000000111100000000000000000000) IEE 754 simple prcision=( X)10
SM=0 donc cest nombre positif
Eb=10000001=129
Et on a : Eb=E+28-1-1=E+127E=Eb-127=129-127=2
M=11100000000000000000000=111
Donc X=(1,111x22)en virgule flottante=(111,1)en virgule fixe=(7,5)10
Addition
Elle se fait en trois tapes :
- Dnormaliser les deux nombres afin davoir le mme exposant (le plus lev)
- Additionner les mantisses
- Normaliser le rsultat

6
Codification et reprsentation des nombres MI
Exemple :7-2,25=4,75
(+7)10= (0 10000001 11000000000000000000000)IEE754
(-2,25)10=(1 10000000 00100000000000000000000) IEE754
- Dnormalisation :
(+7)10= + 1,11*22
(-2,25)10=-1,001*21=0,1001*22
- Addition des mantisse (+1,11)+(-0,1001)=(+001,1100)+(-0000,1001)
(0 0001,1100)C2+(1 1111,0111)C2=(0 0001,0011)C2=(0 0001,0011)2
- Normalisation
Signe positifSM=0
Mantisse =1,0011 M=0011
E=2Eb=2+127=129=(10000001)2
Donc les rsultat est (0 10000001 00110000000000000000000)IEE754
Multiplication
Elle se fait en quatre tapes :
- Dnormaliser les deux nombres (exposants naturels)
- Additionner les exposants naturels
- Multiplier les mantisses
- Normaliser le rsultat
Exemple
7*9,5 = ?
(7)10=(111)2=(0 10000001 11000000000000000000000)IEE754
(9,5)10=(1001,1)2=(0 10000010 00110000000000000000000)IEE754
- Dnormalisation :
(0 10000001 11000000000000000000000)IEE754=1,11*22
(0 10000010 00110000000000000000000)IEE754=1,0011*23
- Addition des exposants : E=2+3=5
- Multiplication des mantisses : 1,11*1,0011=10,000101
- Normalisation
10,000101*25=1,0000101*26
SM=0 ; E=6Eb=6+127=133=(10000101)2 ; M=0000101
Donc les rsultat est =(0 10000101 00001010000000000000000)IEE754

7
Codification et reprsentation -Numrique MI

II Chapitre 2 : Codification et reprsentation - Numrique


Une grosse part des informations manipules par les systmes numriques concerne le langage parl
ou crit matrialis sous formes de textes, eux-mmes constitus de caractres typographiques.
Comment coder universellement ces caractres et permettre ainsi lchange dinformations entre
machines et/ou utilisateurs, quelle que soit la langue utilise ?
II.1 Le code BCD (Binary Coded Decimal)
Certaines applications, notamment en gestion, exigent des calculs dcimaux exacts, sans arrondi, ce
qui implique de travailler avec des nombres dcimaux. En effet, avec un nombre fix de bits, il est
impossible de convertir de manire exacte des nombres binaires en nombres dcimaux et
rciproquement.
Dautre part de nombreuses applications visualisent ses donnes sous la forme dun affichage dcimal,
exemple : Laffichage dans un ascenseur du N dtage ; Laffichage de la vitesse dun vhicule, On utilise
alors la reprsentation BCD, dans laquelle chaque chiffre dcimal (0 - 9) est cod avec 4 chiffres
binaires,
Dcimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Exemple (2016)10=(0010000000010110)BCD ; (1001 0011)BCD = (93)10
Remarque :
Le principal intrt du code BCD est de permettre une reprsentation des nombres dcimaux trs
rapide et sans arrondie. Il est a not cependant que la reprsentation en BCD complique le calcul
arithmtique.
Addition
Lopration de laddition se fait en deux tapes :
- Calculer individuellement la somme de chaque paire de groupe de quatre bits et sans porter la
retenue au prochains groupe de bits.
- Corriger (de droit gauche) chaque groupe de quatre bits dpassant le 1001 par ajout de 110,
si le groupe dgage une retenue elle sera envoye au prochain groupe.
Exemple : 39+58
0011 1001
+
0101 1000
= 1000 10001
+ 1
0110
= 1001 0111

8
Codification et reprsentation -Numrique MI
Soustraction
Lopration de la soustraction se fait en deux tapes :
- Calculer individuellement (de droit gauche) la soustraction de chaque paire de groupe de
quatre bits, emprunter un 1 du groupe suivant si lopration ncessite un emprunt.
- Corriger (de droit gauche) chaque groupe de quatre bits dpassant le 1001 par soustraction
de 110.
Exemple :145-118
1
0001 0100 0101
-
0001 0001 1000
= 0000 0010 1101
-
0110
= 0000 0010 0111

II.2 LE CODE GRAY OU CODE BINAIRE REFLECHI.


En code binaire pur, le passage dun nombre au nombre suivant se traduit par un changement dun ou
plusieurs bits. Le passage de 3 4 en dcimal donne en binaire 011 100. Les trois bits changent
simultanment. Cela prsente parfois des inconvnients, notamment dans le cas des capteurs - codeurs
(de position par exemple), o lutilisation du code binaire pur peut amener la lecture de codes errons
au moment des transitions dune position la suivante.
Considrons lexemple suivant. Nous voulons concevoir un compteur trois bits, en faisant varier trois
signaux, v0, v1, v2 :

Lorsque le compteur passe de 001 010, il doit modifier deux bits. Si il y a un problme de
synchronisation entre les bits v1 et v0, le nombre 011 saffiche pendant un court laps de temps, bien
que ce ne soit pas le rsultat recherch.
Pour remdier ce problme il est conseill dutiliser le code GRAY invent aux Bell Labs par
lingnieur Frank Gray et brevet en 1953. Cest un code binaire rflchi dans lequel un seul bit change
dtat au changement dun nombre au nombre suivant.

9
Codification et reprsentation -Numrique MI
Dcimal Binaire Gray
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
. . .
. . .
Le code de Gray rgle le problme de compte que nous avons vu prcdemment, comme lillustre la
figure suivante :

On construit le code de Gray en recopiant les bits de faon symtrique (effet miroir) et en procdant
de faon itrative jusquau bit dsir.

10
Codification et reprsentation -Numrique MI

II.2.1 Conversion BinaireGray


Pour obtenir le code de Gray partir du binaire pur, on conserve le premier bit du binaire pur, c'est-
-dire le premier bit du binaire pur reste le premier bit du binaire rflchi(Gray). On additionne le
premier bit du binaire pur au deuxime bit du binaire pur pour obtenir le deuxime bit du binaire
rflchi. On additionne ensuite le deuxime bit du binaire pur au troisime bit du binaire pur pour
obtenir le troisime bit du binaire rflchi et ainsi de suite. Dans toutes ces additions, on considre
toujours 0+0=0, 0+1=1 et 1+1=0.
Exemple :(11001)2=( ?)Gray

1 1 0 0 1

1 0 1 0 1

II.2.2 Conversion Gray Binaire


Pour obtenir le code de binaire partir du code Gay, on conserve le premier bit du Gray, c'est--dire le
premier bit du Gray reste le premier bit du binaire. On additionne le premier bit du binaire au
deuxime bit du Gray pur pour obtenir le deuxime bit du binaire, On additionne ensuite le deuxime
bit du binaire au troisime bit du Gray pur pour obtenir le troisime bit du binaire et ainsi de suite.
En gnral : si (bnbn-1.b1b0)2=(gngn-1..g1g0)GRAY alors bn=gn ; gi=bi+1+bi et bi=bi+1+gi (les retenues
sont ngliges)
Ces trois rgles sont suffisantes pour la conversion BinaireGray et GrayBinaire
Exemple (10111010)Gray=( ?)2
b7=g7 3+6=1; b6=b7+g6=1+0=1; b5=b6+g5=0+1=1; b4=b5+g4=1+1=0; b3=b4+g3=0+1=1;
b2=b3+g2=1+0=1; b1=b2+g1=1+1=0; b0=b1+g0=0+0=0
Donc (10111010)Gray=( 10101100)2

1 0 1 1 1 0 1 0

1 1 0 1 0 0 1 1

II.3 Le code ASCII


(American Standard Code for Information Interchange) Code Amricain Standard pour l'Echange
d'Informations. Le jeu de caractres cods ASCII (American Standard Code for Information
Interchange) ou code amricain normalis pour lchange dinformations, initi par la compagnie
amricaine Bell en 1961, cest la norme de codage de caractres alphanumriques en informatique la
plus connue, la plus ancienne et la plus largement compatible. Le code ASCII (on prononce
gnralement aski ) est un code sur 7 bits (valeurs 0 127), il permet de dfinir :
des codes de contrle non imprimables (0 31) : indicateurs de saut de ligne, de fin de texte,
codes de contrle de priphriques,
des caractres imprimables universels : lettres minuscules (65 90) et majuscules (97 122),
chiffres, symboles,

11
Codification et reprsentation -Numrique MI

Exemple : la signification de cette suite binaire:


100110110010010110010011000001100010110110 est MI2016
Le code ASCII a t mis au point pour la langue anglaise, il ne contient donc pas de caractres
accentus, ni de caractres spcifiques une langue. Le code ASCII a donc t tendu 8 bits pour
pouvoir coder plus de caractres (on parle d'ailleurs de code ASCII tendu...). Cette norme s'appelle
ISO-8859.

II.3.1 La norme IOS-8859


la fin des annes 1980, sont dfinis les codages ISO-8859 qui sont diverses extensions du codage
ASCII permettant de coder en plus des lettres latines accentues et d'introduire (en partie) certains
autres alphabets (arabe, cyrillique, grec, hbreu).
Tous ces codages codent les caractres avec des mots binaires de 8 bits.

12
Codification et reprsentation -Numrique MI

II.4 LUnicode
Dans les annes 1990, le projet Unicode de codage de tous les alphabets est n. Unicode est une famille
de codages, dont UTF-8 est un membre.
Cest une autre norme que l'ASCII, qui prsente l'avantage de proposer une version unifie des
diffrents encodages de caractres compltant l'ASCII mais aussi de permettre l'encodage de
caractres autres que ceux de l'alphabet latin. Unicode dfinit des dizaines de milliers de codes, mais
les 128 premiers restent compatibles avec ASCII. Dans le codage UTF-8, chaque point de code est cod
sur une suite d'un quatre octets. Il a t conu pour tre compatible avec certains logiciels
originellement prvus pour traiter des caractres d'un seul octet.

13
Codification et reprsentation -Numrique MI
II.4.1 Le codage UTF-8
Cest un codage de longueur variable, Certains caractres sont cods sur un seul octet, ce sont les 128
caractres du codage ASCII. Le bit de poids fort des codes de ces caractres est toujours un 0. Les autres
caractres peuvent tre cods sur 2, 3 ou 4 octets. Les bits de poids fort du premier octet codant l'un
de ces caractres indique toujours le nombre d'octets codant. Si le caractre est cod sur 2 octets, les
trois premiers bits du premier octet sont 110. S'il est cod sur 3 octets, alors les quatre premiers bits
du premier octet sont 1110. Et enfin s'il est cod sur 4 octets les cinq premiers bits du premier octet
sont 11110. Les deux bits de poids fort des octets qui suivent le premier octet codant sont toujours 10.
Voir la table 2.1 pour un rsum.

14
Algbre de Boole MI

III Algbre de Boole


III.1 Introduction
Lindustrie des circuits lectroniques de toutes machines numriques est
base sur la conception des fonctions logiques, ces derniers ralisent des
oprations de base (addition, ngation, multiplication, comparaison,
incrmentation,). Une fonction logique est reprsente par une quation
mathmatique en respectant une algbre nomme Algbre de Boole
dveloppe par le mathmaticien anglais George Boole (1815-1864).
III.2 Terminologie
III.2.1 Logique combinatoire
La valeur de sortie dune fonction dpend uniquement des valeurs des variables dentres et ne
dpend pas des tats antrieurs de la fonction (pas de mmorisation).
III.2.2 Variable logique
Grandeur reprsente par un symbole, pouvant prendre deux valeurs logiques distinctes.
III.2.3 Etat logique
Valeur dune variable logique, reprsente par les chiffres 0 ou 1 ou les
lettres L ou H . (H=High; L=Low).
III.2.4 Oprateur logique
Il existe trois oprateurs de base : Non, Ou, Et.
III.2.5 Porte logique
Un circuit lectronique lmentaire permettant de raliser la fonction dun oprateur logique
III.3 Oprateurs de base
III.3.1 La ngation (non)
Oprateur unaire (appliqu sur une variable) qui inverse la valeur dune variable (0 devient 1 et 1
devient 0) ; il est reprsent par une barre au-dessus de la variable, exemple: , il est reprsent
comme suit :

III.3.2 La disjonction (ou)


Oprateur binaire (appliqu sur deux variables) qui fait la somme logique entre deux variables, il
donne 1 si au moins une des variables en entre est en tat 1, il est reprsent par +, exemple A+B, il
est reprsent comme suit :

15
Algbre de Boole MI
III.3.3 La conjonction (et)
Oprateur binaire qui fait le produit logique entre deux variables, il retourne 1 si et seulement si les
deux variables en entre sont ltat 1, il est reprsente par un point, exemple A.B, il est reprsent
comme suit :

III.4 Oprateurs composs


III.4.1 Oprateur NOR (Non Ou)
Operateur binaire qui fait la ngation de loprateur OU, il retourne 1 si toutes les variables en entre

sont 0, il est reprsent par une flche vers le bas, exemple : + = , il est reprsent
comme suit :

III.4.2 Oprateur NAND (Non Et)


Oprateur binaire qui fait la ngation de loprateur ET, il retourne 1 si au moins une variable

dentre gale 0, il est reprsent par une flche vers le haut, exemple : . = , il est
reprsent comme suit :

III.4.3 Oprateur XOR (OU Exclusif)


Oprateur binaire qui vrifie si les deux variables en entre sont diffrentes, il retourne 1 si et
seulement si une variable dentre gale 1 et lautre gale 0, il est reprsent par un plus encercl,
Exemple : . + . = , il est reprsent comme suit :

16
Algbre de Boole MI

III.5 Evaluation des expressions boolennes


III.5.1 Postulats
Disjonction (+) Conjonction (.)
1+1=1 1.1=1
1+0=0+1=1 1.0=0.1=0
0+0=0 0.0=0
1 = 0 0 = 1
III.5.2 Axiomes
proprit Disjonction (+) Conjonction (.)
Commutativit A+B=B+A A.B=B.A
Associativit A+(B+C)=(A+B)+C A.(B.C)=(A.B).C
Distributivit A+(B.C)=(A+B).(A+C) A.(B+C)=A.B+A.C
Elment neutre A+0=A A.1=A
Elment absorbant A+1=1 A.0=0
Complmentation A+A =1 =0
A. A
Idempotence A+A=A A.A=A
Involution =A
A =A

A
III.5.3 Thormes
III.5.3.1 Thorme de Morgan

+ = . ;
. = +

III.5.3.2 Thorme dinclusion


. + . =
( + ). ( + )
=
III.5.3.3 Thorme dallgement
. ( + ) = .
+ . = +
III.5.3.4 Thorme dabsorption
A+A.B=A
A.(A+B)=A
III.5.3.5 Thorme de dualit
Chaque axiome et chaque postulat possde un quivalent dual, o les lments 0 sont remplacs par
des 1, les 1 par des 0, les ( ) par des ( + ) et vice versa. Aussi, tout thorme de lalgbre de Boole a
son quivalent dual.
Exemple : A+A.B=AA.(A+B)=A ; A+1=1A.0=0
III.5.3.6 Rflexion de Michaud
Si A=BC alors B=AC

17
Algbre de Boole MI
III.6 Reprsentation des fonctions Boolennes
III.6.1 Dfinitions
On appelle fonction logique un groupes de variables relies entre-elles par des oprateurs
logiques.
On appelle Minterme de n variables un produit logique de ces variables.
On appelle Maxterme de n variables une somme logique de ces variables.
Avec n variables on peut construire 2n Mintermes et 2n Maxtermes
Exemple : n=2
Les mintermes sont : . ; . ; . ; .
Les maxtermes sont : + ; + ; + ; +
On appelle forme canonique dune fonction la forme o chaque terme (minterme ou maxterme)
comporte toutes les variables de la fonction
Exemple : 1(, , ) = . . + . . + . . + . . (Une forme canonique)
2(, , ) = . . + . + (Ce nest pas une forme canonique)
On appelle forme canonique disjonctive (premire forme canonique) dune fonction, une
fonction canonique compose dune somme de mintermes.
Exemple : 1(, , ) = . . + . . + . . + . .
On appelle forme canonique conjonctive (deuxime forme canonique) dune fonction, une
fonction canonique compose dun produit de maxtermes.
Exemple : 2(, , ) = ( + + ). ( + + ). ( + + ) .
Pour transformer une fonction non canonique disjonctive vers une fonction canonique
disjonctive on multiplie chaque minterme de la fonction par la somme de la variable qui manque
et son complment
Exemple :
(, , ) = . + . + = . . ( + ) + . . ( + ) + . ( + ). ( + )
= . . + . . + . . + . . + . . + . . + . . + . .
III.6.2 .Table de vrit
Cest une table qui reprsente les diffrentes valeurs dune fonction selon les diffrentes
combinaisons de ses variables dentre, exemple : soit la fonction suivante MAJORITE (A,B,C) qui
retourne 1 si la majorit des entres sont ltat 1, sa table de vrit est la suivante :
A B C MAJORITE(A,B,C)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1 . .
1 0 0 0
1 0 1 1 . .
1 1 0 1 . .
1 1 1 1 . .
III.6.3 Extraction dune fonction logique partir de la table de vrit
Pour obtenir lexpression logique sous la premire forme canonique (disjonctive), on tablit
lquation logique de la fonction en sommant les mintermes pour lesquels la sortie vaut 1.
Daprs la table de vrit on peut dduire la formule de la fonction :
(, , ) = . . + . . + . . + . . .
Pour obtenir lexpression logique sous la deuxime forme canonique (conjonctive), on tablit
lquation logique de la fonction en sommant les mintermes pour lesquels la sortie vaut 0, puis
on calcul
18
Algbre de Boole MI
Exemple :

(, , ) = . . + . . + . . + . .

(, , ) =
. . + . . + . . + . .
(, , ) =
. . .
. . .
. . .
. .
(, , ) = ( + + ). ( + + ). ( + + ). ( + + )
III.6.4 Logigramme
Cest la reprsentation symbolique normalise dune fonction laide des portes logiques (dans notre
cours, la norme ANSI est utilise : American National Standards Institute)
Exemple : (, ) = . + .

III.6.5 Chronogramme
Cest le graphe reprsentant lvolution des variables dentre et de sortie au cours du temps, tels
que ltat suprieur reprsente le 1 et ltat inferieur reprsente le 0.
Exemple :
A

Majorit

III.7 Simplification des fonctions


La simplification dune fonction consiste lcrire avec le minimum de termes et les plus simples
possibles afin de la raliser avec moins d'lments lectroniques (portes logiques) sans changer sa
valeur, deux mthodes : simplification algbrique et simplification graphique (tableau de Karnaugt).
III.7.1 Simplification algbrique
Il ny a pas une dmarche bien prcise suivre, il faut appliquer des simplifications, des
factorisations, des distributions, en utilisant les postulats et les axiomes et les thormes de
lalgbre de Boole afin dliminer ou de minimiser des termes, exemple :
= . . . + . . . + . . . + . . . + . . . + . . .
= . . . ( + ) + . . (. + . + . + . )
= . . + . . (. ( + ) + . ( + ))
= . . + . . ( + )
= . . + . = . (. + ) = ( + ). ( + ) = . ( + )

19
Algbre de Boole MI
III.7.2 Simplification graphique : Tableau de Karnaugh
Cest une mthode invente par Maurice Karnaugh en 1954 et qui sert
simplifier des quations logiques ou trouver l'quation logique correspondant
une table de vrit. Elle fonctionne trs bien avec 2 ou 3 ou 4 variables,
beaucoup moins bien avec 5 ou 6 variables, et plus du tout au-del !
Les cases lextrmit de la table reprsentent les diffrentes combinaisons des
variables dentres, elles sont ranges de manire adjacente (le bit a droit dune
case gale au bit gauche de la case suivante exemple (00 , 01 , 11 , 10).
Les cases lintrieur de la table reprsentent les diffrentes valeurs de la
fonction logique.
III.7.2.1 Adjacence des cases internes
Deux cases adjacentes dans le tableau de Karnaugh correspondent des combinaisons diffrant dun
seul bit. Ceci est valable lintrieur du tableau mais aussi sur ses bords : en passant du bord droit au
bord gauche ou du haut au bas il y a adjacence. Ceci revient dire que lon peut considrer le tableau
comme une sphre.
Exemple : les cases adjacentes de la case x sont les cases grises

AB AB 00 01 11 10
AB 00 01 11 10 AB 00 01 11 10 00 01 11 10
CD CD CD CD
00 00 00 00 x
01 x 01 x 01 01
11 11 11 11
10 10 10 x 10

III.7.2.2 Regroupement des cases adjacentes


Apres remplissage du tableau de Karnaugh partir de la table de vrit, tel que chaque case
reprsente une ligne de la table de vrit, on procde au regroupement des cases adjacentes contenant
ltat 1 selon les rgles suivantes :
Un regroupement doit prendre la forme dun carr ou dun rectangle compos dun nombre de
cases en puissance de deux (1 ;2 ;4 ;8 ;16).
Il faut prendre le minimum de groupes composs de maximum des cases.
Une case ltat 1 doit figurer au moins dans un regroupement, comme elle peut exister dans
plusieurs regroupements.
Arrter le regroupement si toutes les cases 1 sont regroupes.
III.7.2.3 Extraction de la fonction simplifie
La fonction est reprsente gnralement en premire forme normale, o chaque regroupement
reprsente un minterme compos de produit des variables dentres, une variable qui change dtat
dans le regroupement doit tre limine du minterme.
Exemples :

= + . + . = . + . + . = . + . = +

20
Algbre de Boole MI

= . + . + . + .
= . + . + . + . . = . + .

= . +
. = + . = . + . .

III.7.2.4 Cas de cinq variables
Le tableau de Karnaugh ne reprsente que quatre variables au maximum, pour simplifier une fonction
f(a,b,c,d,e) de cinq variables il faut suivre les tapes suivantes :
Ecrire la fonction f dans la premire forme canonique
Transformer f en deux fonctions :(, , , , ) = . (, , , , 1) + . (, , , , 0)
Simplifier les deux fonctions f(a,b,c,d,1) et f(a,b,c,d,0) qui contient quatre variables par le tableau
de Karnaugh
Rcrire f en fonction de ces deux fonctions simplifies
Exemple : (, , , , ) = . . + . . . + . . . . + . . . .
Ecriture en forme canonique :
(, , , , ) = . . . ( + ). ( + ) + . . . . ( + ) + . . . . + . . . .
(, , , , ) = . . . . + . . . . + . . . . + . . . . + . . . . + . . . . +
. . . . + . . . .
Transformation de f en deux fonctions
(, , , , ) = . (. . . + . . . + . . . + . . . ) + . (. . . + . . . + . . . +
. . . )
Simplifications de chaque fonction :
ab ab
00 01 11 10 00 01 11 10
cd cd
00 0 0 0 0 00 0 0 1 0

01 0 1 1 0 01 0 0 1 0

11 0 1 1 0 11 0 0 1 0

10 0 0 0 0 10 0 0 1 0
. .
Donc (, , , , ) = . . + . .

21
Algbre de Boole MI
III.7.2.5 Cas de six variables
Pour une fonction de six variables S(a,b,c,d,e,f) il suffit de suivre les mmes tapes quavec cinq
variables sauf que la fonction est transforme de la manire suivantes :
(, , , , , ) = . . (, , , , 1,1) + . . (, , , , 1,0) + . . (, , , , 0,1) +
. . (, , , , 0,0)

22
Tables des matires
Objectifs du cours .......................................................................................................................................................................................... 1
Introduction..................................................................................................................................................................................................... 1
I Chapitre1 : Codification et reprsentation des nombres .................................................................................................... 1
I.1 Les bases de numrotation .................................................................................................................................................... 1
I.1.1 Dcimal........................................................................................................................................................................................... 1
I.1.2 Binaire ............................................................................................................................................................................................ 1
I.1.3 Hexadcimal ................................................................................................................................................................................. 1
I.1.4 Octal................................................................................................................................................................................................. 1
I.1.5 Changement de bases (transcodage) ................................................................................................................................. 1
I.1.5.1 Conversion dcimalbase b ........................................................................................................................................ 1
I.1.5.2 Conversion base bDcimal ........................................................................................................................................ 2
I.1.5.3 Cas particuliers................................................................................................................................................................... 3
I.1.5.3.a Conversion binaire octal.................................................................................................................................... 3
I.1.5.3.b Conversion octal binaire ................................................................................................................................... 3
I.1.5.3.c Conversion binaire hexadcimal .................................................................................................................... 3
I.1.5.3.d Conversion hexadcimal binaire ................................................................................................................... 3
I.2 Reprsentation interne des donnes :............................................................................................................................... 3
I.2.1 Reprsentation des Entiers ................................................................................................................................................... 3
I.2.1.1 Entiers non signs ............................................................................................................................................................. 3
I.2.1.2 Entiers signs ...................................................................................................................................................................... 4
I.2.1.2.a Signe et valeur absolue (SVA) .............................................................................................................................. 4
I.2.1.2.b Complment 1 (C1)............................................................................................................................................... 4
I.2.1.2.c Complment 2 (C2) ............................................................................................................................................... 5
I.2.2 Reprsentation des nombres rels ..................................................................................................................................... 5
I.2.2.1 Format virgule fixe............................................................................................................................................................ 5
I.2.2.2 Format virgule flottante ................................................................................................................................................. 5
I.2.2.3 Codage en Virgule Flottante Normalis ................................................................................................................... 6
I.2.2.4 Le standard IEE 754 (1985).......................................................................................................................................... 6
I.2.2.4.a Simple prcision sur 32 bits : ............................................................................................................................... 6
I.2.2.4.b Double prcision sur 64 bits : .............................................................................................................................. 6
II Chapitre 2 : Codification et reprsentation - Numrique ................................................................................................. 8
II.1 Le code BCD (Binary Coded Decimal)................................................................................................................................ 8
II.2 LE CODE GRAY OU CODE BINAIRE REFLECHI............................................................................................................... 9
II.2.1 Conversion BinaireGray ..................................................................................................................................................11
II.2.2 Conversion Gray Binaire.................................................................................................................................................11
II.3 Le code ASCII .............................................................................................................................................................................11
II.3.1 La norme IOS-8859................................................................................................................................................................12
II.4 LUnicode .....................................................................................................................................................................................13
II.4.1 Le codage UTF-8 .....................................................................................................................................................................14
III Algbre de Boole ................................................................................................................................................................................15
III.1 Introduction ...............................................................................................................................................................................15
III.2 Terminologie ..............................................................................................................................................................................15
III.2.1 Logique combinatoire .........................................................................................................................................................15
III.2.2 Variable logique.....................................................................................................................................................................15
III.2.3 Etat logique .............................................................................................................................................................................15
III.2.4 Oprateur logique.................................................................................................................................................................15
III.2.5 Porte logique...........................................................................................................................................................................15
III.3 Oprateurs de base..................................................................................................................................................................15
III.3.1 La ngation (non) .................................................................................................................................................................15
III.3.2 La disjonction (ou) ...............................................................................................................................................................15
III.3.3 La conjonction (et) ...............................................................................................................................................................16
III.4 Oprateurs composs .............................................................................................................................................................16
III.4.1 Oprateur NOR (Non Ou) ..................................................................................................................................................16
III.4.2 Oprateur NAND (Non Et) ................................................................................................................................................16
III.4.3 Oprateur XOR (OU Exclusif) ...........................................................................................................................................16
III.5 Evaluation des expressions boolennes .........................................................................................................................17
III.5.1 Postulats ...................................................................................................................................................................................17
III.5.2 Axiomes ....................................................................................................................................................................................17
III.5.3 Thormes ...............................................................................................................................................................................17
III.5.3.1 Thorme de Morgan .................................................................................................................................................17
III.5.3.2 Thorme dinclusion .................................................................................................................................................17
III.5.3.3 Thorme dallgement .............................................................................................................................................17
III.5.3.4 Thorme dabsorption .............................................................................................................................................17
III.5.3.5 Thorme de dualit ...................................................................................................................................................17
III.5.3.6 Rflexion de Michaud .................................................................................................................................................17
III.6 Reprsentation des fonctions Boolennes ....................................................................................................................18
III.6.1 Dfinitions ...............................................................................................................................................................................18
III.6.2 .Table de vrit ......................................................................................................................................................................18
III.6.3 Extraction dune fonction logique partir de la table de vrit ........................................................................18
III.6.4 Logigramme ............................................................................................................................................................................19
III.6.5 Chronogramme ......................................................................................................................................................................19
III.7 Simplification des fonctions.................................................................................................................................................19
III.7.1 Simplification algbrique ..................................................................................................................................................19
III.7.2 Simplification graphique : Tableau de Karnaugh ....................................................................................................20
III.7.2.1 Adjacence des cases internes ..................................................................................................................................20
III.7.2.2 Regroupement des cases adjacentes ....................................................................................................................20
III.7.2.3 Extraction de la fonction simplifie ......................................................................................................................20
III.7.2.4 Cas de cinq variables...................................................................................................................................................21
III.7.2.5 Cas de six variables ......................................................................................................................................................22

You might also like