0% ont trouvé ce document utile (0 vote)
19 vues16 pages

Codage

Le document traite de la représentation des nombres et du codage en électronique numérique, en se concentrant sur les systèmes de numération tels que décimal, binaire et hexadécimal. Il explique les conversions entre ces bases, ainsi que les opérations arithmétiques, notamment la représentation des nombres négatifs et la soustraction à l'aide des compléments à 1 et à 2. Enfin, il souligne l'importance de ces représentations pour le fonctionnement des microprocesseurs et des circuits électroniques.

Transféré par

Abdesslam Nfissi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
19 vues16 pages

Codage

Le document traite de la représentation des nombres et du codage en électronique numérique, en se concentrant sur les systèmes de numération tels que décimal, binaire et hexadécimal. Il explique les conversions entre ces bases, ainsi que les opérations arithmétiques, notamment la représentation des nombres négatifs et la soustraction à l'aide des compléments à 1 et à 2. Enfin, il souligne l'importance de ces représentations pour le fonctionnement des microprocesseurs et des circuits électroniques.

Transféré par

Abdesslam Nfissi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ere

Licence d'Ingénierie Electrique 1 année Électronique Numérique

Chapitre 2
Représentation des nombres, codage

L’électronique numérique manipule des variables logiques 0 ou 1 obéissant aux règles


de l’algèbre de Boole. Nous allons voir dans ce chapitre comment une information en
utilisant des variables logiques.

2.1. Représentation des nombres, codes pondérés.

2.1.1. Les systèmes de numération.

a. Numération en base b

Les nombres entiers ou décimaux peuvent être représentés dans plusieurs bases
différentes. De manière générale l'expression d'un nombre en base B est de la forme:

A = a n −1 a n − 2 a n − 3 L a 2 a 1 a 0 , a − 1 a − 2 a − 3 L

Chaque coefficient a i est un symbole (le plus souvent un chiffre) compris entre 0 et
b- 1. Dans un système de numération en base b on attribue au chiffre qui occupe la
position 1 + i , le poids b i . La position est repérée par rapport à la virgule et croit de la
droite vers la gauche. La valeur en base B du nombre A précédent est ainsi:

( A ) b = a n −1 b n −1 + a n − 2 b n − 2 + K + a 1 b 1 + a 0 b 0 + a −1 b −1 + a − 2 b −2 + K

Les symboles disponibles pour écrire un nombre dépendent de la base utilisée et sont
compris dans l’intervalle [0, b − 1] .

29
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

b. Numération décimale (code décimal).

C'est le système de numération usuel dans la vie quotidienne. Puisque b = 10 il


dispose de 10 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9. L'entier 1596 correspond à

( 1596 ) 10 = 1 × 10 3 + 5 × 10 2 + 9 × 10 1 + 6 × 10 0

Cette base, très pratique lorsque l'on a 10 doigts, n’est pas adaptée au fonctionnement
des microprocesseurs pour lesquels on fait appel à d’autres bases.

c. Numération binaire (code binaire naturel).

La numération en base 2 ou numération binaire utilise deux symboles 0 et 1. Cette


base est très pratique en électronique numérique pour distinguer deux états logiques. On
écrit :

( a n −1 a n − 2 L a 1 a 0 ) 2 = a n −1 × 2 n −1 + a n − 2 × 2 n − 2 L + a 1 × 2 1 + a 0 × 2 0

La partie droite de l'équation donne la valeur en décimal du nombre binaire écrit à


gauche. Par exemple:

( 1011 , 01) 2 = 1× 2 3 + 0 × 2 2 + 1× 2 1 + 1× 2 0 + 0 × 2 −1 + 1× 2 −2 = 11 , 25

Un élément binaire 0 ou 1 est appelé un bit. En code binaire naturel, le poids du bit de
rang n est 2 n (attention on compte le rang 0). Le bit de poids le plus fort est appelé MSB
(Most Significant Bit) et celui de poids le plus faible LSB (Less Significant Bit)

d. Numération hexadécimale (code hexadécimal)

L'utilisation de la base b = 16 résulte du développement des micro-ordinateurs. Les


symboles utilisés dans cette base sont les dix chiffres de 0 à 9 complétés par les lettres A
(pour 10), B (pour 11), C (pour12), D (pour 13), E (pour 14) ef F (pour 15). On écrit

( a n −1 a n − 2 L a 1 a 0 ) 2 = a n −1 × 16 n −1 + a n − 2 × 16 n − 2 L + a 1 × 16 1 + a 0 × 16 0

Comme précédemment la partie droite de l'équation donne la valeur en décimal du


nombre hexadécimal écrit à gauche. Par exemple:

( AA ) 16 = A × 16 1 + A × 16 0 = 10 × 16 + 10 × 1= ( 170 )10

( B 7 ) 16 = B × 16 1 + 7 × 16 0 = 11 × 16 + 7 × 1= ( 183 ) 10

30
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

2.1.2. Changement de base, conversions.

a. Conversions vers la base décimale.

Le principe de la conversion résulte directement des définitions précédentes et de la


façon dont on écrit un nombre dans une base donnée :

( N ) b = a n −1 b n −1 + a n − 2 b n − 2 + K + a 1 b 1 + a 0 b 0 + a −1 b −1 + a − 2 b −2 + K

où b est codé en décimal. La conversion est ainsi réalisée automatiquement puisque le


résultat est écrit directement en base 10.

b. Conversion de la base 10 vers la base b.

L'opération repose sur la remarque suivante : le chiffre recherché de poids le plus


faible est le reste de la division du nombre par la base b. En effet, soit N le nombre à
convertir on peut écrire :

( N ) b = a n −1 b n − 1 + a n − 2 b n − 2 + K + a 1 b 1 + a 0 b 0
.
= ( a n −1 b n − 2 + a n − 2 b n − 2 + K a 2 b 1 + a 1 ) × b + a 0 avec a 0 < b

Le chiffre suivant s'obtient de la même façon à partir du quotient et ainsi de suite


jusqu'au chiffre de poids le plus fort.

Prenons l'exemple de la conversion de (89)10 en base 2. L'application de l'algorithme


précédent donne (89)10 = (1011001)2. En effet :

89 = 44 x 2 + 1 1 bit de poids le plus faible

44 = 22 x 2 + 0 0

22 = 11 x 2 + 0 0

11 = 5 x 2 + 1 1

5=2x2+1 1

2=1x2+0 0

1=0x2+1 1 bit de poids le plus fort

Il est possible de procéder différemment en retranchant directement de N les

31
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

différentes puissances de b pour obtenir les chiffres dans l'ordre des poids décroissants.
Cette seconde méthode appliquer à l'exemple précédent se traduit par la séquence
suivante:

89 = 64 + 25 = 25 + 26 x 1 1 bit de poids le plus fort

25 = 25 + 25 x 0 0

25 = 16 + 9 = 9 + 24 x 1 1

9 = 8 + 1 = 1 + 23 x 1 1

1 = 1 + 22 x 0 0

1 = 1 + 21 x 0 0

1 = 1 + 0 = 0 + 20 x 1 1 bit de poids le plus faible

Le résultat final est bien sûr identique (89)10 = (1011001)2

b. Conversions directes binaire – hexadécimal.

Les conversions entre les bases binaire et hexadécimale peuvent se faire par
l'intermédiaire de la base 10 en appliquant les méthodes précédentes. Il est cependant
possible d'effectuer la conversion directement.

La méthode consiste à découper le nombre à convertir en "paquets" facilement


convertible dans la base désirée. Par exemple :

( 1101100001 11) 2 = ( 1101


{ 1000 3 ) 2 = ( D 87 )16
123 0111
12
D 8 7

ou bien dans l'autre sens :

( BD 9 ) 16 = ( B D 9 )16 = ( 1011110110 01) 2


{ { {
1011 1101 1001

2.2. Opération arithmétiques.


En électronique numérique l’opération fondamentale est l’addition, la soustraction
n’étant rien d’autre que l’addition d’un nombre négatif. Il est donc important d’avoir une
représentation des nombres négatifs qui permette d’effectuer simplement les
soustractions.

32
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

2.2.1. Représentation des nombres négatifs.


Dans un circuit électronique (par exemple un ordinateur), les nombres sont
représentés par des bits 0 ou 1 stockés dans des mémoires ou des registres
(physiquement cela correspond à des états différents de tension électrique ou
d'aimantation). Un groupe de 8 bits forme un octet2. Les circuits électroniques manipulent
des mots formés de plusieurs octets. Les ordinateurs actuels, par exemple, utilisent des
mots de 8 octets c'est-à-dire 64 bits.

Les nombres représentables sont donc en nombre fini. On ne peut pas tout
représenter ni tout calculer. Les mots de 64 bits manipulés par les ordinateurs autorisent
264 représentations différentes soit quelques milliards. Dans ces conditions se pose la
question de la représentation la plus appropriée pour les nombres négatifs. Pour les
nombres exprimés en code binaire naturel il existe au moins trois types de
représentations.

a. Représentation par un bit de signe et une valeur absolue.

Le premier bit indique le signe : 0 pour le signe + et 1 pour le signe -. Le reste des bits
représente la valeur absolue (en base 2). Par exemple avec 3 bits on représente les
nombres :

+ 3 est représenté par 0 1 1 - 3 est représenté par 1 1 1

+ 2 est représenté par 0 1 0 - 2 est représenté par 1 1 0

+ 1 est représenté par 0 0 1 - 1 est représenté par 1 0 1

+ 0 est représenté par 0 0 0 - 0 est représenté par 1 0 0

L’inconvénient de cette convention est double ! Il y a deux représentations possibles


pour le nombre 0. Par ailleurs la soustraction vue comme une addition bit à bit ne
fonctionne pas. En effet

0 0 0 (+0) 0 0 1 (+1)

+ 1 0 1 (-1) mais + 1 1 0 (-2)

= 1 0 1 (-1) Correct = 1 1 1 (-3) Faux

2
Les anglo saxons utilisent le terme byte

33
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

b. Représentation par le complément à 1 ou complément restreint (CR).

Il s’agit du complément par rapport au plus grand des nombres représentables. Ce


nombre est composé de bits tous égaux à 1. En pratique, le complément à 1 d’un nombre
x écrit sur n bits est obtenu en complémentant chacun des bits. On a alors
n
CR ( x ) + x = 111
142 3 = 2 −1
111
K4
n bits

Les nombres représentables avec n = 3 bits sont donnés dans le tableau ci-dessous.
La représentation des nombres positifs ne change pas, il s'agit toujours d'un bit de signe
égal à 0 suivi de la valeur absolue, en revanche, pour les nombres négatifs le bit de signe
est toujours 1 mais la valeur absolue n’apparaît plus.

+ 3 est représenté par 0 1 1 - 3 est représenté par 1 0 0

+ 2 est représenté par 0 1 0 - 2 est représenté par 1 0 1

+ 1 est représenté par 0 0 1 - 1 est représenté par 1 1 0

+ 0 est représenté par 0 0 0 - 0 est représenté par 1 1 1

Il y a toujours l’inconvénient de deux représentations pour le chiffre 0 mais nous


verrons que cette représentation permet d’effectuer des soustractions

c. Représentation par le complément à 2 ou complément vrai (CV).

Le complément vrai d’un nombre s’obtient en ajoutant 1 au complément restreint


CV ( x) = CR( x) + 1 . On a alors CV ( x) + x = 2 n et les nombres représentables avec n = 3
bits sont les suivants :

+ 3 est représenté par 0 1 1 - 3 est représenté par 1 0 1

+ 2 est représenté par 0 1 0 - 2 est représenté par 1 1 0

+ 1 est représenté par 0 0 1 - 1 est représenté par 1 1 1

+ 0 est représenté par 0 0 0 - 4 est représenté par 1 0 0

Par rapport à la représentation en complément à 1 il n’y a plus qu’une seule


représentation pour le nombre 0 ce qui permet de libérer la combinaison 1 0 0 pour

34
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

représenter – 4. En effet 4 = 100 donc − 4 = CV ( 4 ) = 011+ 1 = 100 3.

2.2.2. Réalisation pratique de la soustraction.


Quel est l’intérêt des représentations complémentées à 1 ou 2? Supposons que l’on
manipule des nombres entiers écrits en binaires sur n bits. La soustraction se réduisant à
l’addition d’un nombre négatif, toutes les opérations se font modulo 2 n puisque, sur n
bits, le nombre 2 n n’est représenté que par des 0.

a. Utilisation du complément à 2.

Considérons deux nombres positifs M et N représentés sur n bits, la soustraction


M − N s’écrit sous la forme

N − M = N − M + 2 n = N + (2 n − M )
1424 3
CV ( M )

La complémentation à 2 permet donc de ramener très simplement la soustraction à


l’addition. Dans la situation où N < M le résultat est directement obtenu dans la
représentation complément à 2 :

N − M = − ( M − N ) = 2 n − ( M − N ) si N < M
1442443
CV ( M − N )

Les exemples suivants illustrent ce fonctionnement. Lorsque N > M l'addition


N + CV ( M ) peut conduire à une retenue, c'est-à-dire à un bit n + 1 égal à 1. Cette
retenue n'est pas prise en compte puisque l'on ne dispose que de n bits pour stocker le
résultat de l'opération.

0 1 0 (+2) 0 1 1 (+3)

+ 1 0 1 (-3) + 1 1 1 (-1)

= 1 1 1 (-1) Correct =X
1 0 1 0 (+2) Correct

retenue

La complémentation à 2 permet donc de ramener très simplement la soustraction à

3
Attention le codage sur 3 bits d'un nombre signé ne permet de représenter le nombre 4.

35
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

l'addition, par contre sa réalisation n'est pas immédiate.

b. utilisation du complément à 1.

La complémentation à 1 rend la soustraction un peu plus compliquée puisqu’il faut


maintenant écrire :

N − M = N − M + 2 n − 1 + 1 = N + (2 n − 1 − M ) + 1 si N > M
142 4 43 4
CR ( M )

N − M = −( M − N ) = 2 n − 1 − ( M − N ) = N + ( 2 n − 1 − M ) si N < M
142 4 43 4
CR ( M )

Dans le premiers cas il faut additionner le complément à 1 de M puis ajouter encore 1.


Dans le second cas il suffit d’ajouter le complément à 1 de M pour obtenir le résultat
complémenté à 1. Ces deux situations sont illustrées sur les exemples ci-dessous. de
nouveau la retenue qui peut éventuellement apparaître n'est pas stockée sur les n bits
disponibles et peut donc être oubliée.

0 1 1 (+3)

0 1 0 (+2) mais + 1 1 0 (-1)

+ 1 0 0 (-3) + 1

= 1 1 0 (-1) Correct =X
1 0 1 0 (+2) Correct

retenue

La complémentation à 1 est plus commode à calculer que la représentation à 2 (il suffit


de complémenter les bits), en revanche la réalisation de la soustraction nécessite d'ajouter
1 dans certaines circonstances. En pratique cela n'est pas une vraie complication puisqu'il
suffit d'utiliser l'entrée de retenue des additionneurs.

c. Problèmes de débordement.

Quelque soit la représentation adoptée pour réaliser une opération arithmétique il faut
toujours s'assurer que le résultat obtenu reste dans les limites de la représentation (entre -
4 et +3 dans le cas de la représentation par complément à 2 sur 3 bits). Si ce n'est pas le
cas les résultats obtenus sont aberrants.

36
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

1 1 0 (-2) 0 1 1 (+3)

+ 1 0 1 (-3) + 0 1 0 (+2)

=X
1 0 1 1 (+3) Faux = 1 0 1 (-3) Faux

2.3. Codage des nombres.


Un code est une correspondance arbitraire entre un ensemble de symboles et un
ensemble d’objets. Les symboles peuvent être des lettres, des chiffres, des signes de
ponctuation … Certains codes permettent d’effectuer des opérations arithmétiques,
d’autres permettent de détecter des erreurs lors d’une transmission de données voir de les
corriger.

2.3.1. Les codes pondérés.

a. Codes binaire, décimal et hexadécimal.

Les codes du paragraphe 2.1.1 sont des codes pondérés. Dans une base donnée,
chaque bit est affecté d'un poids proportionnel à sa position. Il existe d'autres types de
codes pondérés notamment les représentations décimales codées binaires.

b. Code BCD (Binary Coded Decimal)

Il s'agit d'une représentation des nombres en base 10, où chaque chiffre est codé en
binaire. Il faut 4 bits pour représenter les 10 chiffres de la base 10 et chaque bit d’un
groupe de 4 est affecté de son poids naturel. On écrit ainsi par exemple
( 421) 10 = ( 0100 0010 0001) BCD au lieu de ( 110100101 ) 2 en binaire naturel.

En code BCD un nombre de n chiffres occupe toujours 4 n bits.

2.3.2. Les codes non pondérés.

a. Le code ASCII (American Standard Code for Information Interchange).

C’est le code le plus utilisé dans les transmissions entre une unité centrale et ses
périphériques. Il sert à coder des lettres, des chiffres et un certain nombre d’ordres qui
correspondent souvent aux touches du clavier (par exemple la touche ENTREE). Ces
symboles sont codés en binaire sur 7 bits ce qui permet 2 7 = 128 possibilités.

37
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

La transmission d'une information se fait en réalité sur 8 bits. le dernier bits est en
principe un bit de parité servant à la détection des erreurs: il est mis à 0 si le nombre de
bits du signal est pair , et à 1 dans le cas inverse. On peut ainsi détecter un erreur se
produisant sur un bit. En réalité le code ASCII, qui a été mis au point pour la langue
anglaise, ne contient pas de caractères accentués ni de caractères propres à une langue.
Le 8eme bit est donc souvent utilisé pour transmettre ces caractères. On parle alors de
code ASCII étendu.

b. Codes adjacents.

Lorsque deux chiffres ou nombres consécutifs ont toujours des représentations qui ne
différent que par un seul bit on dit qu'il s'agit d'un code adjacent. Si l'adjacence est
complète (avec retour au point de départ) on parle de code cyclique. Ces codes
permettent de diminuer les risques de comportement erratique lors des changements de
combinaison.

On a représenté ci-dessous la construction des codes cycliques appelés code GRAY,


pour les numérations hexadécimale et décimale.

Gray Hexadecimal Gray decimal


0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 1
2 0 0 1 1 0 1 1 1
3 0 0 1 0 1 1 1 1
4 0 1 1 0 1 0 1 1
5 0 1 1 1 1 0 1 0
6 0 1 0 1 1 1 1 0
7 0 1 0 0 0 1 1 0
8 1 1 0 0 0 1 0 0
9 1 1 0 1 0 0 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0

Il arrive que deux chiffres changent simultanément entre deux nombres consécutifs:

38
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

par exemple lors du passage de 19 à 20. Dans ce cas on perd le bénéfice du caractère
cyclique du code GRAY . Pour éviter cet inconvénient on utilise la convention suivante.

• Le chiffre des unités est représenté par le code GRAY si la dizaine est paire (par
exemple 08, 24 …)

• Le chiffre des unités est représenté par le code CRAY de son complément à 9 (en
décimal) si la dizaine est impaire (18, 35 …)

2.3.3. Codes correcteurs d'erreurs.


Les transmissions numériques nécessitent des rapports signal/bruit beaucoup plus
faibles que les transmission analogiques. Cela étant, même si un rapport signal/bruit de 1
est acceptable il est toujours possible qu'un bit soit modifié lors d'une transmission de
données. Des codes on donc été développés pour détecter et éventuellement corriger ces
erreurs.

Nous nous contenterons de donner l'exemple de deux codes détecteurs d'erreurs.

a. Ajout d'un bit de parité.

On ajout un bit supplémentaire à l'information que l'on souhaite transmettre. Ce bit est
tel que le nombre total de 1 soit pair comme indiqué sur l'exemple ci-dessous

Information Bit de parité

1 0 1 0 0

1 0 0 0 1

1 1 1 0 1

On détecte ainsi les erreurs qui portent sur un seul bit, mais ce sont les plus fréquentes
sauf si le taux d'erreur est exorbitant!

b. Codes p parmi n

Dans ce type de code les chiffres de 0 à 9 sont représentés par des combinaisons qui
comportent toujours p bits à 1 parmi les n bits codant le chiffre. Le tableau suivant donne
l'exemple du code 2 parmi 5. Ce type de code permet également de détecter les erreurs
portant sur un seul bit.

39
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

Code 2 parmi 5 binaire standard


A B C D E a b c d
1 1 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 1
0 0 1 0 1 2 0 0 1 0
0 0 1 1 0 3 0 0 1 1
0 1 0 0 1 4 0 1 0 0
0 1 0 1 0 5 0 1 0 1
0 1 1 0 0 6 0 1 1 0
1 0 0 0 1 7 0 1 1 1
1 0 0 1 0 8 1 0 0 0
1 0 1 0 0 9 1 0 0 1

40
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

2.4. Exercices.

Exercice 1.

Effectuer les conversions suivantes:

a. (7852)10 en base hexadécimal puis en binaire.

b. (1101001011)2 en hexadécimal puis en décimal

c. (2EA)16 en binaire puis en décimal.

Exercice 2.

On représente des entiers signés sur 16 bits.

1. Quel est le plus grand entier positif que l'on puisse écrire? Quel est le plus petit
entier négatif que l'on puisse écrire?

2. Ecrire, en valeur absolue, les entiers précédents en base hexadécimal et décimal.

3. Donner les compléments à 1 et 2 de l'entier le plus grand.

Exercice 3.

Effectuer les opérations suivantes en complément à 2 sur 8 bits. Vérifier les résultats et
indiquer les éventuels débordements. Comment peut on détecter que le résultat est faux ?
a. 125 – 26
b. 105 + 35
c. 40 – 60
d. - 38 – 96

41
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

2.5. Correction des exercices

Exercice 1

1. on applique la méthode exposée dans le paragraphe 2.1.2

7852 = 16 x 490 + 12 =16 x 490 + C C

490 = 16 x 30 + 10 = 16 x 30 + A A

30 = 16 x 1 + 14 = 16 x 1 + E E

1 = 16 x 0 + 1 1

soit (7852)10 = (1EAC)16

la conversion vers la base 2 est immédiate : (1EAC)16 = (1 1110 1010 1100)2

2. Vers la base hexadécimale ( 11 0100 { ) 2 = ( 3 4 B ) 16


123 1011 {
3 4 11= B

Par ailleurs (34B)16 = 3 x 162 + 4 x 161 + 11 x 160 = (843)10

3. (2EA)16 = 2 x 162 + 14 x 161 + 10 x 160 = (746)10

et ( 2 E A ) = ( 1011101010 ) 2
{ { { 16
10 0100 1010

Exercice 2.

1. Les entiers étant signés un bit est nécessairement consacré au signe (celui le plus à
gauche). Le plus grand entier positif s'écrit 0 111 1111 1111 1111 .

Le plus petit entier négatif est 1111 1111 1111 1111

2. Les deux nombres sont identiques en valeur absolue et s'écrivent (7FFF)16=


(32767)10 = 215 – 1.

42
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

3. Le complément à 1 s'obtient en complémentant tous les bits composants le nombre


soit 1 000 0000 0000 0000. Le complément à 2 s'obtient en ajoutant 1 au complément à
1. On a ainsi 1 000 0000 0000 0001

Exercice 3.

Pour commencer il faut représenter chacun des nombres sur 8 bits, en utilisant le code
CBN pour les nombres positifs et le code complément à 2 pour les nombres négatifs. Le
résultat, si il est négatif, est obtenu en complément à 2 et on ne garde que les 8 premiers
bits.

a.

Retenues 1 1111 100

125 0111 1101

- 26 1110 0110

= 99 = 1 0110 0011


Débordement

b.

Retenues 0 1100 011

105 0110 1001

+ 35 0010 0011

= 140 = 0 1000 1100 FAUX

43
ere
Licence d'Ingénierie Electrique 1 année Électronique Numérique

c.

Retenues 0 0000 000

40 0010 1000

- 60 1100 0100

= -20 = 0 1110 1100

d.

Retenues 1 0010 000

- 38 1101 1010

- 96 1001 0001

=- 134 = 1 0110 1011 FAUX


Débordement

Compte tenu du nombre de bits le résultat de l’opération doit être compris entre – 127 et
+127. En dehors de cette plage le résultat est nécessairement faux comme c’est le
cas pour opérations b) et d). En pratique deux situations mènent à un résultat faux :

• Il y a une retenue du bit 7 vers le bit 8 et pas de retenue externe (ou


débordement) (cas b)
• Il n’y a pas de retenue du bit 7 vers le bit 8 mais il y a une retenue externe
(cas d)
Dans les deux cas le bit de signe est changé accidentellement.

44

Vous aimerez peut-être aussi