Académique Documents
Professionnel Documents
Culture Documents
LICENCE ELECTRONIQUE
Module : Logique Combinatoire et Séquentielle
Code :UEF 2.2.1
Année 2021-2022 1
Représentation des données
2
Variables et mots
• Variable discrète :
Une variable discrète est une variable qui prend ses valeurs dans un ensemble S de
cardinalité C finie, non vide.
•Variable binaire (ou variable commutation) :
C'est une Variable discrète dont la cardinalité de l'ensemble S est C=2. Les éléments de
l’ensemble S sont notés de façon complémentaire : " Vrai / Faux", "Oui / Non", "Ouvert/
Fermé ", " 0/ 1".
Une variable " a " est binaire : S = {0,1} aS
· Mot binaire :
Un mot binaire de n digits est un ensemble ordonné de n variables binaires. Digit ou Binary
dígít (BIT) = nombre valant 0 ou 1. Si on prend n variables binaires, on aura 2n combinaisons
possibles, c`est à dire 2n écritures différentes de mots.
Exemple:
3
Avec n= 3, on a 23 = 8 combinaisons: 000, 001, 010, 011,100,101,110,111
Numération
· La numération permet de représenter un mot (ou nombre) par la juxtaposition ordonnée de
variables (ou symboles) pris parmi un ensemble.
• Les systèmes de numération les plus courants sont :
- Système décimal : il comprend 10 symboles appelés chiffres : {0,l,2,3,4,5,6,7,8,9}
- Système binaire : il comprend 2 symboles appelés BIT (Binary digIT) : 0 et l
- Système octal : il utilise 8 symboles qui sont les chiffres de 0 à 7,
- Système hexadécimal : 16 symboles : Les chiffres de 0 à 9 et les lettres A, B, C, D, E, F
• Format de n bits : il permet de représenter tous les nombres entiers N compris entre 0 et
2n-1.
Ce nombre au format de n bits s`appelle communément « mot de n bits »
· Exemple : mot de 4 bits (quartet ou nibble en anglais) :
(1101)2 =1x23 +1x22 + 0x21+1x20
(1101)2 =1x8 +1x4 + 0x2 +1x1 = 13
7
Codage
Méthode1:
- On sait que 0 ≤ N ≤ Bn-1 et B = 2
- On détermine le nombre n de bits minimum pour coder N
-On positionne les bits ai à 0 ou
n-1
1 de tellen-2
façon que:
N = an-1 b + an-2 b + ….+ a1 b + a0 b0
1
8
Nombres fractionnaires
Pour convertir un nombre fractionnaire de la base 10 vers une autre base, il faut
procéder en deux étapes. La partie entière du nombre est convertie comme indiqué
précédemment ; la partie fractionnaire du nombre est convertie en multipliant par la partie
fractionnaire par la base cible, en retenant les parties entières qui apparaissent au fur et à
mesure.
•Exemple:
Mot octal de 3 chiffres. Il sera pondéré 82-81-80 soit : 64-8-1
(721)8 = 7x82 + 2x81 + 1x80
(721)8 = 7x64 + 2x8 +1x1 = 465
Le nombre (721)8 représente le nombre décimal 465
11
Codage Hexadécimal ( B = 16 )
• La numération hexadécimale (à base 16) est apparue avec la logique programmée. Elle est
largement utilisée en programmation.
• On dispose de 16 symboles: les chiffres de 0 à 9 et les lettres de A à F qui correspondent
aux valeurs décimales 10 à 15
• Si on code sur n chiffres, on peut représenter tous les nombres entiers décimaux compris
entre 0 et 16n-1.
• Voici l‘équivalence des codages dans les 2 numérations (décimal, hexadécimale) :
• Exemple:
Mot hexadécimal de 4 symboles. Il sera pondéré 163-162-161-160 soit 4096 – 256 – 16 - 1
(20AC)16 = 2x163 + 0x162 + Ax161 + Cx160
(20AC)16 = 2x 4096 + 0x 256 + 10x 16 + 12x 1= 8364
Le nombre (20AC)16 représente le nombre décimal 8364 12
Codage d'un nombre N en hexadécimal :
Comme pour la conversion en binaire, on effectue ici la méthode des divisions euclidiennes
successives par 16
• Exemple : convertir le nombre décimal N= 92 en hexadécimal
92 = 16 x 5 + 12 (chiffre de poids faible = C)
5 = 16 x 0 + 5 (chiffre de poids fort)
92 = (5C)16
14
Représentation binaire des nombres signés
Les systèmes numériques doivent être capables de traiter des nombres positifs et négatifs.
En binaire, on ne connait pas les signes « + » et « - ». Par convention, en codage binaire
signé, le bit de poids fort indique le signe du nombre.
Si le bit de poids fort est à "0" le nombre est positif.
Si le bit de poids fort est à "1" le nombre est négatif.
Le complément à 1 (CA1):
Pour obtenir le complément à un d'un nombre binaire, il faut complémenter chaque bit c'est
dire transformer les "0" en "1" et les "1" en "0".
Exemple 1 :
+4 décimal 0000 0100 en binaire /4 décimal 1111 1011 en complément à un
Exemple 2 :
+100 décimal 0110 0100 en binaire /100 décimal 1001 1011 en complément à un
15
Représentation en complément à 2 ( CA2)
Dans la représentation en complément à 2, , les nombres positifs se représentent par leur
valeur binaire naturelle. Par exemple +6 est représente par 0000 0110 sur un format de 8
bits.
La représentation des nombres négatifs s’obtient comme suit :
• On part de la représentation binaire naturelle de l’oppose arithmétique du nombre à coder
(nombre positif),
• On calcule son complément à 1 (CA1) ou complément restreint. Celui-ci est obtenu en
inversant tous ses bits,
• On en déduit son complément à 2 (CA2) ou complément vrai en ajoutant 1 (+1) au niveau
du LSB.
Exemple : représentation de -5 en CA2 sur un format de 8 bits
- Représentation binaire naturelle de +5 : 5 = 0000 0101,
- CA1 de +5 = 1111 1010,
- CA2 de +5 : −5 = 1111 1011.
La représentation en complément à 2 présente les caractéristiques suivantes :
• Le principe d’obtention de l’oppose d’un nombre négatif est le même que celui
permettant d’obtenir l’oppose d’un nombre positif,
• Le nombre 0 à une représentation unique,
• Un format sur n bits permet de coder en CA2 les nombres N vérifiant
-2n-1 ≤ N ≤ +2n-1-1 16
Représentation en complément à 2
On peut ainsi représenter des nombres compris entre -4 et +3 sur un format de 4 bits, entre
-16 et +15 sur un format de 5 bits, entre -32 et +31 sur un format de 6 bits, entre -64 et +63
sur un format de 7 bits, etc.
• Le bit de poids fort (MSB) est représentatif du bit de signe, mais il est traité comme les
autres bits dans les opérations arithmétiques : si MSB = 0 le nombre est positif, si MSB = 1
le nombre est négatif.
• Le nombre +2n−1 n’est pas représenté. En effet, dans le cas ou n = 4, le calcul du CA2 de
1000 donne -(-8) = 0111 + 1 = 1000 = -8. Ce qui est arithmétiquement incorrect, car 0 est le
seul entier à être son propre oppose. On a donc choisi de supprimer la représentation du
nombre +2n−1 , un MSB à 1 étant représentatif d’un nombre négatif.
• Exemple: n = 4:
Il est possible de coder :
- Nombres non signés sur 4 bits : 24 = 16 : 0 à 15
- Nombres signés sur 4 bits : on "coupe en 2" 16 / 2 = 8 : -8 à +7
17
Classification des codes binaires
L’ensemble des codes binaires peuvent être regroupes en deux classes : les codes pondérés
et les codes non pondérés.
Codes pondérés
Un code est dit pondéré si la position de chaque symbole dans chaque mot correspond à un
poids fixe : par exemple 1, 10, 100, 1000 ... pour la numération décimale, et 1, 2, 4, 8, ... pour
la numération binaire. Les codes pondérés ont, en général, des propriétés intéressantes du
point de vue arithmétique.
1) Le code binaire pur et ses dérivés (octal, hexadécimal)
Ce sont les codes utilises en arithmétique binaire et qui ont été étudies précédemment
2) Le code DCB (Décimal Codé Binaire) ou BCD (Binary-Coded Decimal)
Ce code est utilise dans de nombreux systèmes d’affichage, de comptage ou même les
calculatrices de poche. Le code BCD n’utilise que 10 mots de codes de 4 bits.
• Exemple 1: Codage d'un entier 234 en BCD : (0010 0011 01O0) BCD
18
Codes non pondérés
Dans le cas des codes non pondérés, il n’y a pas de poids affecte à chaque position
des symboles. De tels codes peuvent néanmoins parfois posséder des propriétés
arithmétiques intéressantes, comme le code excédent 3.
Soit un nombre N en binaire pur, pour obtenir son équivalent n en binaire réfléchi, il suffit
d'effectuer l'opération suivante :
n = (N 2N) / 2
• Exemple :
soit N = 0111, nous avons 2N = 1110
(pour multiplier par 2 on effectue un décalage de la droite vers la gauche).
On effectue maintenant l'opération OU Exclusif de N et 2N :
0 111 1110 = 1001
Puis nous divisons par 2 le résultat soit 1001 / 2 = 0100
(pour diviser par 2 on effectue un décalage de la gauche vers la droite).
ou plus simplement en appliquant la relation suivante:
Gn = Bn B(n+1)
Nous avons alors : pour N = 0111 en binaire pur correspond n = 0100 en code Gray.
Code BINAIRE
Code GRAY 20
et inversement en appliquant la relation suivante:
Bn=B(n+1) Gn
pour n= 0100 en code Gray correspond N = 0111 en
binaire pur
En fait, un report est produit au moment de l'addition du dernier rang à gauche. Ce report
est toujours rejeté d'ou la somme finale de 00000101, soit le nombre décimal +5. 23
Cas 3: nombre positif et nombre négatif plus grand.
Soit l'addition de -9 et de +4:
Dans ce cas-ci le bit de signe de la somme est 1, ce qui indique un nombre négatif. Pour
trouver la grandeur exacte de la somme, on doit prendre le complément à 2 de 1111 1011,
ce qui donne 0000 0101 (5); la réponse est donc 1111 1011 = -5.
24
Multiplication de nombres binaires
On multiplie les nombres binaires de la même façon qu'on multiplie les nombres décimaux.
Exemple : multiplication de nombres binaires non signes.
Multiplication en complément à 2
Quand les deux nombres sont négatifs, ils sont donc écrits dans la notation en complément
à 2. Chacun de ces nombres est complémenté à 2 pour obtenir un nombre positif et ce sont
les résultats de ces complémentations qu'on multiplie. Le produit est un nombre positif
dont le bit de signe est 0.
Quand un des nombres est positif et que l'autre est négatif, le nombre négatif est d'abord
complémente à 2 pour obtenir une grandeur positive. Le produit est exprime selon la
notation en grandeur exacte. Cependant, le produit doit être négatif car les nombres à
multiplier sont de signes opposés.
25
Division binaire
La division d'un nombre binaire (le dividende) par un autre (le diviseur) est identique à la
division de deux nombres décimaux. En réalité, la division en binaire est plus simple puisque
pour déterminer combien de fois le diviseur entre dans le dividende, il n'y a que 2 possibilités
0 ou 1.
Dans cet exemple. Les codes de 4 bits associes à 5 et à 3 sont additionnés selon les règles
binaires pour donner 1000, ce qui est le code BCD de 8. De même, l'addition des chiffres
décimaux de second rang donne en binaire 0 111, ce qui est le code BCD de 7. Le total est
0111 1000, soit le code BCD de 78. 27
Somme supérieure à 9
Additionnons 6 et 7
en BCD:
Dans un tel cas, il faut corriger la somme en additionnant 6 (0110) afin de prendre en
considération le fait qu'on saute six présentations codées non valides:
L'addition pour 7 et 5 produit une somme non valide que l'on corrige en additionnant 0110.
Notez que ceci produit un report de 1 ajoute aux chiffres du second rang. 28
Opérations arithmétiques en octal