SysLog1 07 ArithmétiqueBinaire

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 20

Chapitre 7

ARITHMETIQUE BINAIRE

7.1 Introduction
Les quatre opérations élémentaires de l’arithmétique sont : l’addition, la soustraction, la
multiplication et la division. On peut ajouter à ces quatre opérations les opérations de comparaison de
deux nombres réalisées par un comparateur. Le principe appliqué pour ces opérations en décimal sera
le même en binaire (et dans n’importe quelle autre base de numération). De plus étant donné qu’en
binaire on ne manipule que deux chiffres, les opérations sont plus simples.
L’addition, la soustraction et la comparaison relèvent de la logique combinatoire ; par contre,
la multiplication et la division relèvent de la logique séquentielle.

7.2 L’addition

7.2.1 Principe
Ce principe est décrit ci-après par les deux mots à 4 bits A et B dont la somme à 5 bits est .

C11 à C44 : sommes partielles à deux bits.

C1 à C4 : bits de report ou de retenue.

C4 : dernier bit de report appelé bit de


débordement.

C4 4 3 2 1 : résultat final à 5 bits

La colonne des bits de poids 1 ne tient compte d’aucun report ; elle réalise une opération
portant sur 2 bits (A1 plus B1) : cette opération s’appelle demi-addition.
Les autres colonnes tiennent compte du report de rang inférieur ; elle réalisent chacune une
opération portant sur 3 bits (An plus Bn plus Cn-1 avec n allant de 2 à 4) : l’opération s’appelle addition
complète.
L’exemple peut être schématisé par le diagramme fonctionnel de la figure 7.1 ci-dessous.
L’étage de droite qui réalise la demi-addition est appelé demi-additionneur et les autres étages qui
réalisent des additions complètes sont appelés des additionneurs complets.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 1


Figure 7.1 : Diagramme fonctionnel de l’additionneur à 4 bits

7.2.2 Le demi-additionneur

A1 B1 C1 1  1  A1 .B1  A1 .B1
0 0 0 0  1  A1  B1
0 1 0 1 C1  A1 .B1
1 0 0 1
1 1 1 0 b) Symbole non normalisé
a) Logigramme

Figure 7.2 : Demi-additionneur

7.2.3 L’additionneur complet

Ai Bi Ci-1 Ci i
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1 a) Logigramme b) Symbole
1 0 1 1 0
1 1 0 1 0 Figure 7.3 : Additionneur complet 1 bit
1 1 1 1 1

 n  ( An  Bn )  C n1

C n  An .Bn  ( An  Bn ).C n1

On peut faire les remarques suivantes :


- Un additionneur complet est composé de deux demi-additionneurs et d’une porte OU ;
- Un additionneur complet peut devenir un demi-additionneur si on met l’entrée report à 0.

7.2.4 L’additionneur complet à n bits


Un additionneur complet de 2 mots de n bits chacun peut se composer de n additionneurs
complets à 1 bit branchés comme vu précédemment pour l’exemple à 4 bits : ce type de réalisation est
dit à entrée parallèle et report série ; cette réalisation est simple mais le temps d’opération est élevé
compte tenu de la méthode de génération de report qui rend les étages de rang supérieurs dépendants
des étages de rang inférieurs. Pour avoir un temps d’opération plus court, on adopte une réalisation où
tous les bits de même rang sont traités simultanément : c’est la réalisation à entrées parallèles et
reports parallèles (ou anticipés).

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 2


Le principe du report anticipé est le suivant : chaque étage génère lui-même le report de rang
inférieur qui lui est nécessaire de sorte que les étages sont tous indépendants. L’inconvénient est la
complexité des circuits lorsque le nombre de bits est élevé ; en pratique il est limité à 4.
La figure 7.4 donne la structure d’un additionneur à 4 bits à report anticipé.

Figure 7.4 : structure d’un additionneur à 4 bits à entrées parallèles et reports anticipés

Les circuits intégrés TTL 7483 et 74283 sont des additionneurs à 4 bits à entrées parallèles et
reports anticipés. La figure 7.5 donne les brochages respectifs, le symbole et la table de fonction des
deux circuits intégrés. Ils ne diffèrent que par leurs brochages.

a) Brochages b) Symbole c) Table de fonction


Figure 7.5 : Brochages, table de fonction et symbole des additionneurs 74283 et 74283.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 3


On peut mettre plusieurs de ces circuits en cascade pour réaliser un additionneur pour deux
mots d’un nombre quelconque de bits supérieur à 4 (la réalisation est dite à report semi-parallèle). La
figure 7.6 donne l’exemple d’un additionneur à 8 bits avec des 74283 ou des 74283.

Figure 7.6 : Implantation d’un additionneur à 8 bits à l’aide de l’additionneur à 4 bits 7483 ou 74283

7.2.5 L’addition en code BCD 8421


L’addition en code BCD8421 présente une difficulté : la somme de deux nombres BCD 8421
peut donner un résultat supérieur à 9, ce qui est considéré comme une erreur. Le nombre décimal 6 qui
est la différence entre le plus grand nombre binaire à 4 bits (décimal 15) et le plus grand nombre
BCD8421 (décimal 9) constitue un facteur de correction à utiliser en cas de somme résultante erronée.
L’addition se fait au départ comme si on était en binaire naturel, mais on ajoute par la suite le
facteur de correction 0110 aux décades erronées (celles n’ayant pas d’équivalent en BCD 8421 et celle
ayant généré un débordement). Après la correction, les décades ayant généré un débordement sont
prises sans le débordement. La figure 7.7 donne un exemple d’addition en code BCD 8421.

Figure 7.7 : Illustration de l’addition en code BCD 8421

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 4


7.3 La soustraction

7.3.1 Principe
Le principe général de la soustraction peut être illustré par l’opération à 4 bits [A–B = D]. On
en déduit le diagramme fonctionnel de la figure 7.8.

Figure 7.8 : Diagramme fonctionnel du Soustracteur à 4 bits

Ei désigne l’emprunt (à deux bits) de rang i et Ci son report (à un bit). L’étage de droite qui ne
tient compte d’aucun report est appelé demi-soustracteur ; les autres étages sont appelés des
soustracteurs complets.

7.3.2 Le demi soustracteur

A1 B1 C1 D1 D1  A1.B1  A1.B1
0 0 0 0
D1  A1  B1
0 1 0 1
1 0 0 1 C1  A1 .B1
1 1 1 0
Figure 7.9 : Logigramme du demi soustracteur

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 5


7.3.3 Le soustracteur complet

Ai Bi Ci-1 Ci Di
0 0 0 0 0 Di  ( Ai  Bi )  Ci 1
0 0 1 0 1
0 1 0 0 1 Ci  Ai .Bi  ( Ai  Bi ).Ci 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
Figure 7.10 : Soustracteur complet à 1 bit
1 1 1 1 1

On peut remarquer que le soustracteur complet se compose de demi-soustracteurs et d’une


porte OU.
On peut à partir des soustracteurs-complets à 1 bit, réaliser un soustracteur complet à n bit.
Cependant, en considérant les nombres avec signe, une soustraction devient une addition. Nous
verrons plus loin le principe de l’addition signes inclus après l’étude des signes en binaire.

7.4 Représentation des nombres binaires avec signes

7.4.1 Représentation du signe


En binaire le signe d’un nombre est désigné par un bit à gauche de sa valeur absolue :
- le bit 0 pour le signe « + »
- le bit 1 pour le signe « – ».

7.4.2 Représentation de la valeur absolue


Il existe trois façons de représenter les nombres.

7.4.2.1 Représentation en code binaire naturelle

La valeur absolue est en binaire naturel pour tous les nombres, aussi bien positifs que
négatifs : on parlera de représentation en valeur absolue vraie signée (en anglais « signed-
magnitude »). Les circuits arithmétiques basés sur cette méthode sont extrêmement complexes : ce
sont des processeurs spécialisés. Cette méthode est réservée pour l’arithmétique à virgule flottante.

7.4.2.2 Représentation en code « complément à 1 »

La valeur absolue du nombre est représentée par :


- la valeur vraie pour un nombre positif ;
- le complément à un de la valeur vraie pour un nombre négatif.

On appelle complément à 1 d’un nombre binaire A à n bits son complément bit à bit noté A (le
complément de chaque bit de A).

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 6


Les circuits arithmétiques sont plus simples par cette méthode pour des entiers signés, mais la
méthode présente certains inconvénients d’interprétation : par exemple, la somme de deux nombres
opposés de même valeur absolue donne « -0 » alors que « 0 » est toujours un nombre positif.

7.4.2.3 Représentation en code « complément à 2 »

La valeur absolue d’un nombre binaire est représentée par :


- la valeur vraie pour un nombre positif ;
- le complément à deux de la valeur vraie pour un nombre négatif.
On appelle complément à deux d’un mot A à n bits le nombre noté (A)2 , égal à la somme

arithmétique du complément bit à bit A de A et de 1 :

(A)2  A plus 1 .

On peut aussi définir (A)2 comme étant le nombre qu’il faut ajouter à A pour que la somme
soit égale au premier nombre ayant n plus 1 bits.

Exemple :
Soit à trouver les compléments à 2 des nombres A et B sur n = 8 bits avec A = (59)10 et B = (28)10.
Solution :

A = (00111011)2 == > (A)2  A plus 1  11000100 plus1  11000101 ;

(A)2  11000101

B = (00011100)2 == > (B) 2  B plus 1  11100011 plus1  111000100 ;

(B) 2  111000100

NOTA : On aura remarquer qu’on peut obtenir directement le complément à deux d’un nombre en
conservant les bits les moins significatifs jusqu’au premier 1 rencontré et en inversant les
autres bits.

Avec cette méthode, il n’existe plus de « -0 ». Les circuits arithmétiques sont cependant plus
complexes que ceux basés sur la méthode du complément à 1, mais demeurent quand même plus
simples que dans le cas du binaire naturel.

Le code de représentation universellement adopté pour l’arithmétique à virgule fixe est le code
complément à 2.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 7


7.4.3 Format du nombre binaire
La construction d’une machine numérique nécessite de représenter tous les nombres avec le
même nombre de bits d’où, la notion de capacité maximale, c’est-à-dire le nombre le plus grand. Les
formats qui sont couramment utilisés pour les nombres entiers sont : 8 bits, 16 bits, 32 bits et 64 bits.
Le tableau ci-dessous donne des exemples de nombres entiers à 8 bits incluant leur signe avec le code
complément à 2.

Valeurs Bits
Bits de valeur absolue
décimales de signe
127 0 1 1 1 1 1 1 1 < ==== Nombre le plus grand
59 0 0 1 1 1 0 1 1
28 0 0 0 1 1 1 0 0
1 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0
-1 1 1 1 1 1 1 1 1
-28 1 1 1 0 0 1 0 0
-59 1 1 0 0 0 1 0 1
-127 1 0 0 0 0 0 0 1
-128 1 0 0 0 0 0 0 0 < ==== Nombre le plus petit

7.5 Addition signes inclus de deux entiers binaires (code complément à 2)

7.5.1 Règles générales


Les règles générales de l’addition signes inclus en code complément à 2 sont les suivantes :
1°) Représenter les deux nombres avec leurs signes en utilisant le même format, le bit le plus à
gauche étant réservé au signe ;
2°) Additionner les deux nombres en incluant les bits de signes dans l’opération ;
3°) Eliminer, s’il y a lieu, le débordement résultant de l’opération ;
4°) Analyser le bit de signe du résultat pour déterminer la forme de sa valeur absolue :
- la valeur absolue est sous la forme vraie si le bit de signe est 0.
- la valeur absolue est sous la forme complément à deux si le bit de signe est 1.

7.5.2 Exemples numériques


Soit à faire en binaire l’opération [A + B] pour les différentes combinaisons de signes de A et
de B. On donne A  (59)10 et B  (28)10 .

En binaire naturelle on a : A  (111011) 2 et B  (11100) 2 .

Le nombre de bits le plus élevé pour les valeurs absolues étant 6, on doit les écrire avec au
moins 7 bits. En choisissant le minimum de 7 bits pour les valeurs absolues, les nombres seront écrits
avec 8 caractères signes inclus d’où :  A  00111011 et  B  00011100 .
On obtient les quatre additions suivantes :

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 8


7.5.3 Application de l’addition signes inclus à l’addition en code BCD + 3
L’addition en code BCD-8421 nécessite une correction en cas de somme résultante erronée
(voir paragraphe 7.2.5) ; le principe de la correction rend l’implantation de l’addition en BCD-8421 un
peu complexe. On peut obtenir une implantation moins complexe en utilisant le code BCD+3 qui rend
la correction systématique, ce qui simplifie les calculs. Les règles d’application sont les suivantes :
- effectuer le calcul comme si on était en binaire naturel ;
- ajouter 0011 aux décades ayant généré de débordement ;
- retrancher 0011 aux décades n’ayant généré aucun débordement ;
- Les décades résultantes constituent la solution finale en code BCD+3.
La figure 7.11 donne un exemple d’addition en code BCD+3.

Figure 7.11 : Illustration de l’addition en code BCD+3

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 9


7.6 Représentation des nombres binaires avec partie fractionnaire

7.6.1 Les nombres à virgule fixe


On parle de « fixed point » en terminologie anglo-saxonne.

7.6.1.1 Les nombres fractionnaires

Ce sont les nombres réels F tels que :  1,0  F  1,0 . Le codage utilisé pour la
représentation de ces nombres est le même que celui vu au chapitre 1, mais en faisant les
considérations suivantes :
- on utilise un nombre N donné de bits en code complément à 2,
- le N ième bit (le bit de poids fort) est le bit de signe,
- la position de la virgule, implicite, est fixe et située entre le N ième bit et le (N-1)ième bit ;
L’expression permettant de convertir une fraction binaire signée en fraction décimale est
donnée par la formule suivante :

F10  20. bN 1  21. bN  2  ...  2( N  2). b1  2( N 1). b0

La figure 7.12 donne un exemple de codage à 3 bits et la figure 7.13 donne la représentation
en registre pour le cas général à N bits.

Figure 7.13 : Représentation en registre d’un nombre


fractionnaire à N bits à virgule fixe.
Figure 7.12 : Exemple de codage de nombres
fractionnaires à 3 bits à virgule fixe

7.6.1.2 Les nombres mixtes à virgule fixe

Un nombre mixte est un nombre possédant une partie entière incluant le bit de signe et
une partie fractionnaire ; la virgule fixe est située entre les deux parties. On désigne le format
des nombres mixtes à virgule fixe par la notation « [I-Q] » : I est le nombre de bits de la partie
entière, signe inclus, et Q est le nombre de bits de la partie fractionnaire ; par exemple, pour
un nombre fractionnaire pur à 24 bits, le format est [1-23] (on dit encore « Q23 »).

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 10


Pour convertir un nombre binaire mixte M à virgule fixe et de format [I-Q] en décimal,
on utilise la formule :

(M )10  2I 1. bI 1  2I  2. bI  2  ...  20. b0  21. b1  ...  2Q. bQ

La figure 7.14 donne à titre d’exemple simple le codage des nombres pour [I-Q] = [2-2] et la
figure 7.15 donne la représentation en registre pour le cas général.

Figure 7.15 : Représentation en registre d’un nombre


mixte à virgule fixe au format [I-Q].

Figure 7.14 : Exemple de codage de nombres mixtes


à virgule fixe au format [2-2].

7.6.1.3 Précision des nombres à virgule fixe

La précision de codage d’un nombre à virgule fixe dépend du nombre de bits Q de la partie
fractionnaire et est de 2-Q : par exemple, pour les formats [1-2] de l’exemple figure 7.12 et [2-2] de
l’exemple figure 7.14, elle est de 0,25 ; pour un format Q23, elle est de 2 –23 et pour un format [9-47]
elle est de 2 –47.

7.6.2 Les nombres à virgule flottante


On parle de « floating point » en terminologie anglo-saxonne.

7.6.2.1 Principe des nombres à virgule flottante

Pour manipuler en décimal les très grands et les très petit nombres, on utilise la notation dite
scientifique, dans laquelle un nombre réel R possède le format R  M  10 E : M, appelé mantisse est
un nombre signé à virgule fixe, et E, appelé exposant, est un entier signé. E représente le nombre de
décalages nécessaires pour amener la virgule dans la position donnant la version à virgule fixe de R.
Une valeur positive de E peut spécifier des nombres très grands ; E négatif peut spécifier des nombres
extrêmement petits. C’est cette notation scientifique qui est appelée à virgule flottante : en effet, il n’y
a plus de position fixe pour la virgule fractionnaire des nombres.
C’est le même principe qui est utilisé en binaire, la base 10 étant remplacée par la base 2.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 11


7.6.2.2 Le format standard IEEE-754/854

a) Généralité

Les constructeurs de processeurs à virgule flottante ont souvent utilisé leurs propres formats,
incompatibles d’un constructeur à un autre. Cependant, en 1985, une représentation standard
sponsorisée par « Institute of Electrical and Electronics Engineers » (IEEE) et dénommée norme
IEEE-754/854 vit le jour. Beaucoup de constructeurs ont adopté cette norme.

Les deux formats principalement rencontrés sur les PC sont les formats 32 bits (simple
précision) et 64 bits (double précision). La partie fractionnaire de la mantisse possède 23 bits en
simple précision et 52 bits en double précision ; l’exposant possède 8 bits en simple précision et 11
bits en double ; le dernier bit (le plus à gauche) est réservé au signe de la mantisse qui est à la fois le
signe du nombre complet. La figure 7.16 donne la représentation d’un format 32 bits à virgule
flottante.

Figure 7.16 : Format IEEE-754/854 simple précision sur 32 bits.

b) Forme biaisée des nombres à virgule flottante

Normalement l’exposant est un entier signé E dont la plage s’étend de Emin à Emax en passant
par zéro. Pour avoir un exposant toujours positif, on ajoute un décalage appelé biais à la valeur signée
de E et on obtient un exposant biaisé e = E + biais ; l’exposant E est alors appelé exposant non biaisé.
Le biais est la plus grande valeur absolue possible de E ; par exemple, pour un exposant à 8 bits, la
valeur absolue est sur 7 bits : le biais est 127. Le tableau suivant donne pour le format 32 bits les
valeurs extrêmes de E et de e.

Exposant Valeur minimale Zéro Valeur maximale Dépassement

Non biaisé E Emin = – (27 – 1 )= –127 0 Emax = +27 = 127 Eov = 128

Baisé e emin = 0 127 emax = 254 eov = 255

NOTA : avec la représentation en valeur absolue vraie signée, par exemple sur 8 bits, le nombre
binaire 10000000 désigne -0 ; cependant, si on admet que 0 est positif, alors 10000000 peut
servir à désigner 128 (le bit du signe + devenant implicite) qui sera considéré comme valeur
de dépassement de capacité ; c’est ce que prend en compte la dernière colonne du tableau.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 12


c) Forme normalisée des nombres à virgule flottante

La représentation à virgule flottante conduit à plusieurs formes équivalentes du même


nombre ; par exemple : 543,21  0,54321 103  5,4321 10 2  543,21 10 0  54321,0  10  3 .

Pour éviter cela, la norme IEEE-754/854 prévoit la normalisation suivante : le chiffre le plus
significatif non nul de la mantisse doit être immédiatement suivi par la virgule flottante. L’exemple
décimal précédent normalisé donne : 543,21  5,4321 10 2 .

En binaire, comme le chiffre le plus significatif non nul est le bit 1, la mantisse d’un nombre
normalisé sera toujours de la forme 1,f (f étant la partie fractionnaire de la mantisse). La norme IEEE-
754/854 prévoit de ne pas inclure explicitement ce bit 1 dans la représentation de la mantisse, ce qui
permet d’augmenter en mémoire le nombre de bits de la mantisse ; on parle de « bit caché ».

La mantisse MN des nombres normalisés est dans la plage MNmin  MN  MNmax ; si nous
prenons le cas 32 bits, :

MNmin = (1,00000000000000000000000)2 = (1,0)10

MNmax = (1,11111111111111111111111)2 = (2 – 2–23)10

Si l’exposant non biaisé E est dans la plage Emin + 1  E  Emax , la valeur réelle d’un nombre à
virgule flottante et normalisé peut être obtenue par l’expression :

R10  (1) S . 2 (ebiais).1, f

Dans cette expression, S désigne le bit de signe et f la partie fractionnaire de la mantisse M.

d) Nombres dénormalisés à virgule flottante

L’expression précédente ne peut pas servir à exprimer le nombre zéro à virgule flottante. Par
ailleurs l’amplitude non nulle la plus petite que permet cette expression est 2(Emin + 1),
(soit 2–126 en
format 32 bits). Le standard IEEE-754/854 permet cependant de représenter des nombres de plus
faibles amplitudes en utilisant une mantisse sous la forme 0,f. ; ces nombres sont dits « dénormalisés ».
Le zéro à virgule flottante sera représenté comme un nombre dénormalisé. La mantisse MD des
nombres dénormalisés est dans la plage MDmin  MD  MDmax ; si nous prenons le cas 32 bits, et que
nous désignons par MD1 l’amplitude de la plus petite mantisse non nulle, on a :

MDmin = (0,00000000000000000000000)2 = (0,0)10

MD1 = (0,00000000000000000000001)2 = (2–23)10

MDmax = (0,11111111111111111111111)2 = (1 – 2–23)10

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 13


L’exposant non biaisé E des nombres dénormalisés est tout simplement Emin qui correspond à
l’exposant biaisé e = 0. La valeur d’un nombre dénormalisé peut alors être donnée par l’expression :

R10  (1) S . 2(1biais). 0, f

Nota : on passe de l’expression du nombre normalisé à celle du nombre dénormalisé en faisant


e = 0 et considérant simplement que MD = MN.2–1 soit MN = MD.2+1.

e) Nombres spéciaux en format standard IEEE-754/854

Nous prenons seulement le cas du format 32 bits (les résultats pouvant être facilement
transposés au format 64 bits). La plage de l’exposant biaisé e est : 0  e  255 . Les valeurs extrêmes
0 et 255 de e sont réservées à des nombres particuliers par la norme. Les catégories de nombres
représentables sont les suivants :

- L’exposant biaisé e tel que 1  e  254 est réservé aux nombres normalisés ;

- L’exposant biaisé e = 0 est réservé au nombre zéro et aux nombres dénormalisés ;

- L’exposant biaisé e = 255 est réservé aux nombres   résultant de certains types de
saturation (ou dépassement de capacité « overflow ») et aux nombres indéfinis résultant de
certaines opérations invalides (comme par exemple zéro multiplié par l’infini) ; les
nombres indéfinis sont dénommés par la norme NaN («Not a Number »).

La table ci-dessous résume le codage des différents types de nombre flottant en format 32 bits :

Type de Exposant Partie Mantisse Nombre réel (décimal) Valeur


nombre biaisé fractionnaire f en hexadécimale
binaire
Dénormalisé 0 f22…..f0 0, f (-1)S.2(1 - biais).0,f xxxxxxxx
0 0
Zéro 0 0…….0 0, f (-1) .2 .0,f = 0,0…….0 00000000
Normalisé 1  e  254 f22…..f0 1, f (-1) .2 S (e - biais)
.1,f xxxxxxxx
S 255
NaN 255 1…….1 1, f (-1) .2 .1,f 7FFFFFFF
 7F800000
255 0…….0 0, f (-1)S.2255.1,0
 FF800000

La table ci-dessous donne quelques exemples de nombres en format 32 bits :


Nombre réel Binaire Hexa. Nombre réel Binaire Hexa.
+2-126 00000000100000000000000000000000 00800000 +1 00111111100000000000000000000000 3F800000
-2-126 10000000100000000000000000000000 80800000 -1 10111111100000000000000000000000 BF800000
+1,23.10-12 00111111001000000000000000000000 3F200000 +12345,6789 01000110010000001110011010110111 4640E6B7
-1,23.10-12 10111111001000000000000000000000 BF200000 -12345,6789 11000110010000001110011010110111 C640E6B7
+0,0625 00111101100000000000000000000000 3D800000 +(2-2-23).2127 01111111011111111111111111111111 7F7FFFFF
-0,0625 10111101100000000000000000000000 BD800000 -(2-2-23).2127 11111111011111111111111111111111 FF7FFFFF

NOTA : 2-126 et (2-2-23).2127 sont respectivement la plus petite valeur absolue et la plus grande valeur absolue
qu’on peut représenter en simple précision.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 14


7.7 La multiplication binaire

Le principe de la multiplication binaire est identique à celui la multiplication décimale. Elle


s’effectue au moyen d’additions répétées et de décalage à gauche. Sa réalisation est basée sur des
additionneurs et des registres à décalage à gauche. Le principe de la multiplication est illustré par
l’exemple ci-dessous.
Le premier produit partiel est le produit du multiplicande A par le bit de rang 0 du
multiplicateur B ; le deuxième produit partiel est le produit du multiplicande A par le bit de rang 1 du
multiplicateur B ; le troisième produit partiel suit la même logique.

Figure 7.12 : Illustration de la multiplication binaire

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 15


7.8 La division binaire
La division s’effectue au moyen de soustractions répétées et de décalage à droite. Sa
réalisation devrait être en principe basée sur des soustracteurs et des registres à décalage à droite.
Cependant, comme la soustraction se ramène à une addition, la réalisation de la division est
finalement basée sur des additionneurs et des registres à décalage à droite.
Soit à diviser A à m bits par B à n bits avec comme résultat quotient Q et reste R ;
Les étapes de l’opération sont les suivantes :
- Etape 1 : On décale à gauche B de m - n bits. Désignons par BL le résultat de cette opération.
- Etape 2 : On compare BL à A :
- si BL  A, on fait la soustraction D1 = A – BL et le bit de quotient q1 de Q est 1 ;
- si BL > A, on fait l’affectation D1 = A et le bit de quotient q1 de Q est alors 0.
- Etape 3 : On compare D1 à B :
- Si D1 < B, D1 est le reste R de la division et l’opération est terminée ;
- Si D1  B, on décale BL à droite de un bit, soit BL1RS le résultat de l’opération et on continue le
processus en réitérant les étapes 2 et 3 ; par exemple, pour obtenir q2, on aura :

- Etape 2 bis : On compare BL1RS à D1 :


- si BL1RS  D1, on fait la soustraction
D2 = D1 – BL1RS et le bit de quotient
q2 de Q est 1 ;
- si BL1RS > D1, on fait l’affectation
D2 = D1 et le bit de quotient q2 de Q
est alors 0 ;
- Etape 3 bis : On compare D2 à B :
- Si D2 < B, D2 est le reste R de la
division et l’opération est terminée ;
- dans le cas contraire, on décale BL1RS
à droite de un bit, soit BL2RS le
résultat de l’opération et on continue
le processus ;
- Etape 4 : à la fin du processus
Figure 7.13 : Illustration de la division binaire
d’itération, q1 est le bit le plus significatif
de Q, q2 le bit suivant et ainsi de suite.

L’exemple ci-dessus avec A = 43 et B = 3 illustre l’algorithme de division binaire.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 16


7.9 Les comparateurs binaires

7.9.1 Principe : comparateur à 1 bit


Un comparateur permet d’indiquer si un nombre binaire A est supérieur, égal ou inférieur à un
autre nombre binaire B. Considérons le cas le plus simple de A et B à un seul bit. Soient C, D et E les
variables désignant respectivement les fonctions logiques A > B, A < B et A = B. La figure 7.14
donnent la table de vérité, les expressions qui en résultent et le logigramme correspondant du
comparateur à 1 bits. :

C  A.B

D  A.B

E  A.B  A.B

Figure 7.14 : Comparateur à 1 bit.

7.9.2 Comparateur à plusieurs bits


Soient deux mots à 4 bits A = A3A2A1A0 et B = B3B2B1B0. Le comparateur à 4 bits sera réalisé
à partir de l’étude faite pour le comparateur à 1 bit. Les fonctions logiques A > B, A < B et A = B
seront obtenues en faisant au préalable une comparaison bit à bit de A et B :
a) Condition A = B
Cette condition est vraie si et seulement si :
A3 = B3 et A2 = B2 et A1 = B1 et A0 = B0.
Si nous désignons par Ei la fonction Ai = Bi avec i = {0,1,2,3}, alors le résultat E de
l’opération A = B est le produit logique des Ei :
E  E3 .E2 .E1.E0

b) Condition A > B
Cette condition est vraie si et seulement si :
- A3 > B3, les autres bits indifférents,
- ou A3 = B3 et A2 > B2, les autres bits indifférents
- ou A3 = B3 et A2 = B2 et A1 > B1, les autres bits indifférents
- ou A3 = B3 et A2 = B2 et A1 = B1 et A0 > B0, les autres bits indifférents
Cela se traduit par l’expression :
C  A3 .B3  E3 . A2 .B2  E3 .E2 . A1.B1  E3 .E2 .E1. A0 .B0

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 17


c) Condition A < B
En raisonnant comme ci-dessus, on trouve
que D est obtenu en permutant A et B dans
l’expression de C, soit :

D  A3 .B3  E3 . A2 .B2  E3 .E2 . A1 .B1  E3 .E2 .E1. A0 .B0

L’analyse complète peut être résumée par la


table ci-contre :

D’après la table, il est possible d’obtenir D en fonction de E et C par la relation D  E.C D ou

la relation D  E  C , ce qui s’avère être plus économique (on peut aussi obtenir C en fonction de E et
D). Cependant, les comparateurs commerciaux en circuits intégrés n’utilisent pas cette forme
simplifiée car l’implantation correspondante introduit un temps de propagation supplémentaire
(équivalent soit à un inverseur plus une porte ET, soit à une porte NOR).

7.9.3 Comparateurs en circuits intégrés


a) Comparateurs à 4 bits
Le circuit intégré TTL 7485 (et ses variantes) et le circuit intégré CMOS 4585 sont des
comparateurs 4 bits. Ces circuits possèdent trois entrées supplémentaires A > B, A < B et A = B. Ces
entrées permettent la mise en cascade de plusieurs comparateurs 4 bits pour réaliser un comparateur
pour des mots de plus de plus de 4 bits. On connecte chacune de ses entrées à la sortie de même nom
de l’étage traitant les bits les moins significatifs.
Si nous désignons l’entrée A > B par CI, A < B par DI et A = B par EI, les expressions de
l’étage final sont :
C  A3 .B3  E3 . A2 .B2  E3 .E2 . A1.B1  E3 .E2 .E1. A0 .B0  E3 .E2 .E1.E0 .C I

D  A3 .B3  E3 . A2 .B2  E3 .E2 . A1.B1  E3 .E2 .E1 . A0 .B0  E3 .E2 .E1 .E0 .DI

E  E3 .E2 .E1.E0 .E I
Lorsqu’on n’utilise pas les entrées de mise en cascade, CI et DI doivent être à l’état bas et EI à
l’état haut.
La figure 7.15 donne la table de vérité et le symbole du circuit 7485. La figure 7.16 donne
l’exemple d’un comparateur 12 bits avec des 7485. Dans le cas de mots très longs, afin de réduire le
temps de comparaison, on utilise la méthode présentée à la figure 7.17 illustrant l’exemple d’un
comparateur 24 bits avec des comparateur 4 bits. A titre d’exemple, le temps de comparaison de la
version 74LS85 est de 24 ns ; avec ce circuit intégré, le temps de comparaison du comparateur 12 bits
de la figure 7.16 est de 72 ns alors que celui du comparateur 24 bits de la figure 7.17 est de 48 ns.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 18


Figure 7.15 : Table de vérité et symbole des comparateurs à 4 bits 7485, 74LS85 et 74S85.

Figure 7.16 : Comparateur à 12 bits à partir de comparateur à 4 bits 7485.

Figure 7.17 : Comparateur à 24 bits à partir de comparateur à 4 bits 7485.

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 19


b) Comparateurs à 8 bits

Il existe plusieurs comparateurs à 8 bits en circuits intégrés. On peut citer en exemple les
circuits TTL 74LS682 à 74LS689. Aucun de ces circuits ne possède l’ensemble des trois fonctions de
comparaison.

- les circuits 74LS682 à 687 possèdent les sorties P  Q et P  Q tandis que les circuits 688 et 689

ne possèdent que la sortie P  Q .

- les circuits 74LS682, 84, 86 et 88 possèdent les sorties en Totem-Pole, tandis que les autres sont à
collecteur ouvert.

- Certains de ces circuits possèdent une ou deux entrées de validation..

K. T. Houngan – EPAC/Université d’Abomey-Calavi. Systèmes logiques. Chap. 7 : Arithmétique binaire. Page 20

Vous aimerez peut-être aussi