Vous êtes sur la page 1sur 29

Université des Sciences et de la Technologie Houari Boumediene

Faculté de Génie Electrique


Département D’ELECTRONIQUE
BP. 32, El Alia Bab Ezzouar, 16111 Alger, Algérie
Tel : (213) 021 24 79 12 poste 806 Fax : (213) 21 24 71 87

LICENCE ELECTRONIQUE
Module : Logique Combinatoire et Séquentielle
Code :UEF 2.2.1

SYSTEMES DE NUMERATION, CODAGE ET


OPERATIONS ARITHMETIQUES

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} aS

•Combinaison de « n ›› variables discrètes :


Une combinaison de " n" variables discrètes est une juxtaposition ordonnée de ces variables
prises dans l'ensemble des ses valeurs. Cette combinaison s'appelle "MOT ».
Exemples : 22131 est une des combinaisons de 5 variables de S , S = {0,1,2,3}

· 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

Le nombre de symboles que possède le système de numération est appelé Base.


• Lorsqu'un mot (ou nombre) est écrit, la position respective des symboles détermine leurs
poids.
• Le système décimal, appelé aussi système à base 10, est dit à poids positionnels : c`est à
dire que la valeur d'un chiffre dépend de sa position (appelée rang) dans le nombre :
..., centaines, dizaines, unîtes, dixièmes, centièmes,
Exemple : 742,59 = 7x(100) + 4x(10) + 2x(1) + 5 x 0,1 + 9x 0,01
ou encore: 742,59 = 7x102 + 4x101 + 2x100 + 5x10-1 + 9x10-2
- 7 représente le chiffre de poids le plus fort (ou digit le plus significatif),
- 9 est le chiffre de poids le plus faible (ou digit le moins significatif),
- Les poids des rangs sont des puissances de 10 (système décimal)
4
Codage
• Définition de code et codage:
Code : un ensemble de mots auxquels on confère une signification (convention)pour
représenter une catégorie de messages ou de concepts. Un code est binaire s’il ne contient
que des mots binaires.
Exemples : Gray, DCB, Hoffmann, ...
Codage: Un nombre décimal est un nombre exprime dans le système décimal, c`est à
dire à base 10. Le codage est l'opération de transformation de l‘écriture d'un nombre décimal
dans une base B quelconque.
• Ecriture dans une base B :
De manière générale tout nombre N exprime dans une base b peut se décomposer sous la
forme polynomiale suivante :

N = an-1 bn-1 + an-2 bn-2 + ….+ a1 b1 + a0 b0 + a-1 b-1 +a-2 b-2 +…


- Cette forme est appelée forme polynomiale.
- L’élément ai est le symbole de rang i et son poids est bi.
- L’élément an-1 est le symbole le plus significatif (de poids le plus fort)
- L’élément a0 est le symbole le moins significatif (de poids le plus faible) des entiers
- Les termes bi sont appelés coefficients de pondération ou Poids
- N est codé sur n bits 5
Codage binaire ( B = 2 )
• Le système binaire (ou la numération de base 2) est le système de codage utilise en
électronique numérique et son application aux systèmes informatiques. On dispose de 2
symboles { 0, l } appelés bits.
• Dans le codage binaire, on cherche généralement à utiliser un nombre fixe de bits: On
parle alors de format de 4 bits, de 8 bits (octet) , de 16 bits, 32, 64 bits, etc.

• 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

- Le nombre binaire 1 101 représente le nombre décimal 13


- le chiffre 1 à gauche représente le bit de poids fort ( Most significant bit) MSB
- le chiffre 1 à droite représente le bit de poids faible (least or Low significant bit) LSB
- Les poids des rangs sont des puissances de 2
- On dit que le mot de 4 bits est pondéré 8-4-2-1 6
Comptage binaire :
Si on utilise 4 bits pour coder les nombre décimaux :
- Il existe 16 combinaisons (24=l6)
- On peut alors compter de 0 à 24 - 1 = 15
- Le bit de poids faible (celui de droite) sera pondéré 20 = 1
- Le bit de poids fort (celui de gauche) sera pondéré 23 = 8
Tableau de la suite des nombres binaires :

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

• Exemple : On veut coder le nombre décimal N=18


Il nous faut 5 bits pour coder le nombre 18 selon le format: 16 8 4 2 1
18= (10010)2
Méthode 2 : Méthode des divisions euclidiennes successives
Pour effectuer une conversion d’un entier décimal dans une autre base, on applique la
méthode des divisions successives : on effectue des divisions successives du nombre par
cette base, les restes successifs forment alors le nombre converti.
• Exemple:

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 : conversion de N(10) = 12,925 en base 2


• partie entière : 12(10) = 1100(2)
• partie fractionnaire :

Finalement 12,925(10) = 1100,111...(2)


9
Codage octal ( B = 8 )
La numération octale (à base 8) dispose de 8 symboles qui ne sont autres que les
chiffres de 0 à 7. Si on code sur n chiffres, on peut représenter tous les nombres entiers
décimaux compris entre 0 et 8n-1.

•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

•Codage d'un nombre N en octal :


Comme pour la conversion en binaire, on effectue ici la méthode des divisions euclidiennes
successives par 8

•Exemple : convertir le nombre décimal 99 en octal


99 = 8 x 12 + 3 (chiffre de poids faible)
12 = 8 x 1 + 4
1 = 8 x 0 + 1 (chiffre de poids fort)
99 = (143)8 10
Passage du Binaire en Octal ( Encodage) :
Il suffit de faire des regroupements de 3 bits sur le mot binaire. En effet, un mot binaire de 3
bits permet de coder les nombres entiers décimaux compris entre 0 et 7:
• Exemple 1:
39 = ( 1 0 0 1 1 1 )2 = ( 4 7 )8

• Exemple 2 : soit le nombre binaire 111011 1


- Il faut regrouper 3 bits sur ce mot a partir de la droite: 1 110 111
- On complète alors par des zéros à gauche pour avoir 3 bits : 001 110 111
- Ce qui donne en tenant compte de la pondération 4-2-1 des bits respectifs:
D'où le résultat: (1110111)2 = (167)8

• Exemple 3 : conversion de N(10) = 0,45 en base 8

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

· Passage du Binaire en Hexadécimal (Encodage) :


Il suffit de faire des regroupement de 4 bits sur le mot binaire car avec 4 bits il est possible
de coder les nombres de 0 à 15:
• Exemple :
Soit le nombre binaire 100111:
- Il faut regrouper 4 bits sur ce mot à partir de la droite: 10 0111
- On complète alors par des zéros à gauche pour avoir 4 bits : 0010 01 11
- Ce qui donne en tenant compte de la pondération de chaque bit 8-4-2-1:
0010 = 2 et 01 11 = 7
D'où le résultat: ( 100111 )2 = ( 27 )16
13
Conversion d’une base b1 a une base b2
• Il n’existe pas de méthode pour passer d’une base b1 a une autre base b2 directement.

• L’idée est de convertir le nombre de la base b1 à la base 10 , puis convertir le résultat


de la base 10 à la base b2 .

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.

Nombres de combinaisons, de valeurs négatives et positives


- avec 4 bits : il y a 16 combinaisons différentes de -8 à +7
- avec 8 bits : il y a 256 combinaisons de -128 à +127

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.

1) Code excédent 3 (ou excess 3)

Il est obtenu en décalant le code binaire de trois lignes vers le haut. Ce


code peut être intéressant pour effectuer des soustractions car le
complément à 1 de la représentation binaire d’un chiffre correspond au
complément à 9 de ce chiffre. Ainsi, toute opération de soustraction se
ramène à une addition.

2) Code binaire réfléchi ou code de Gray


Ce code numérique n’étant pas pondéré, il est peu employé pour les opérations
arithmétiques.
Il est, par contre, très utilise pour la réalisation des tableaux de Karnaugh. La propriété
principale de ce code est que deux mots successifs du code ne diffèrent que par un
élément binaire. Ceci permet, d’une part d’éviter la génération d’aléas (états parasites) au
passage de deux combinaisons successives.
19
Règle de formation du code Gray à partir du binaire pur

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

Récapitulatif de différents codes

Code ASCII (American Standard Code


for Information Interchange).
Le binaire permet de coder les
nombres que les systèmes informa -
tiques peuvent manipuler.
Cependant, l'ordinateur doit aussi
utiliser des caractères alphanu-
mériques pour mémoriser et trans-
mettre des textes.

Le caractère A par exemple a pour code 65 soit 01000001 en binaire.


Le caractère f : 102
le point d'interrogation ? : 63
21
Le chiffre 2 : 50
Opérations arithmétiques
Addition de 2 entiers :
Quand un nombre signe a un 1 comme bit de signe et que des 0 comme bits de grandeur,
son équivalent décimal est -2N-1, ou N est le nombre de bits de la représentation signée.
• Exemple:
1000 = -24-1 = -23 = - 8
10000 = -25-1 = -24 = - 16
100000 = -26-1 = -25 = - 32 et ainsi de suite.

La valeur négative la plus grande, pour un octet, est :


10000000 = -28-1 = -27 = -128
La valeur positive la plus grande, pour un octet, est :
01111111 = |10000000| - 1 = | -27 | -1 = 127
Nous avons donc bien 256 valeurs différentes possibles.
Dans le cas général d’une représentation sur N bits, nous avons :
• nombre de valeurs différentes 2N
• représentation du zéro : 00000000
D’où la plage de variation des nombres entiers signés avec une représentation en
complément à 2 sur N bits :
- 2N-1 à +(2N-1-1) 22
Opérations arithmétiques
Cas 1: Deux nombres positifs
L'addition de deux nombres positifs est immédiate. Soit l'addition de +9 et +4:
Remarquez que les bits de signe sont 0 et que celui de la somme est aussi 0, ce qui indique
un nombre positif.

Cas 2: Nombre positif et nombre négatif plus petit


Soit l'addition de +9 et de -4. Rappelez-vous que -4 est exprime dans la notation en
complément à 2. Donc +4 (00100) doit être converti en -4 (11100)

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.

Cas 4: deux nombres négatifs


Le résultat définitif est de nouveau négatif (-13).

Cas 5: nombres égaux et opposés


Le résultat est évidemment 0, comme on s'y attendait.

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.

Dans cet exemple, les nombres à multiplier sont en notation


binaire exacte et il n'y a pas de bit de signe.
Les produits partiels d'une multiplication ne peuvent être
additionnes ensemble en une seule fois. Ils sont plutôt
additionnes deux par deux, c'est-à-dire que le premier est
additionne au second, que leur somme est additionnée au
troisième et ainsi de suite.

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.

Voici deux exemples de divisions:

La division de nombres signes s'effectue de la même façon que la multiplication. Les


nombres négatifs sont complémentes pour obtenir des nombres positifs puis la division est
effectuée.
Si le dividende et le diviseur sont de signes opposés, le quotient est complémenté à 2 pour
obtenir un nombre négatif, puis on lui ajoute un bit de signe de 1. Si le dividende et le
diviseur ont le même signe, le quotient est laisse sous sa forme positive et on lui ajoute un
bit de signe de 0.
26
Addition en BCD
Rappelons que ce code fait correspondre à chaque chiffre décimal un code de 4 bits compris
entre 0000 et 1001. L'addition de nombres décimaux exprimés sous forme BCD se comprend
mieux en étudiant deux cas qui peuvent survenir quand on additionne deux chiffres
décimaux.

Somme égale ou inférieure à 9


Additionnons 5 a 4 en utilisant pour chacun leur représentation BCD

Voici un autre exemple: additionnons 45 a 33.

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:

Voyons un autre exemple: additionnez 47 a 35 en BCD:

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

Le résultat final : (5036)8

Opérations arithmétiques en hexadécimal

Le résultat final : (C2B6)16


29

Vous aimerez peut-être aussi