Académique Documents
Professionnel Documents
Culture Documents
L'addition arithmétique en binaire est effectuée de la même façon que l'addition décimale,
avec une table d'addition plus simple puisqu'il n'y a que quatre cas qui peuvent se
manifester lorsqu'on additionne des bits qui ne prennent que deux valeurs 0 ou 1.
0+0=0
0+1=1
1+0=1
1 + 1 = 0 + retenue de 1 sur le bit de rang supérieur
II. Demi-Additionneur
a Demi-
Additionneur
b r
b a r
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Exemples :
Retenues : 1 1
8 1000 9 1001 9 1001
+7 + 0111 + 5 +0101 + 8 + 1000
15 1111 14 1110 17 10001
2
La figure n°2 illustre d’une manière générale l’addition de deux nombres binaires A et B à 3
bits chacun.
A a a a
2 1 0
+ B b b b
2 1 0
______________________________________
r r r
3 2 2 1 1 0
0
3 2 1
Figure n°2
On commence par additionner les deux bits a0 et b0 de poids le plus faible, ce qui donne une
somme 0 et une retenue r1. On additionne ensuite les deux bits a1 et b1 en tenant compte
de la retenue précédente r1, ce qui donne à nouveau, une somme 1 et une retenue r2. Cette
dernière est ajoutée aux bits a2 et b2, ce qui génère, à nouveau, une somme 2 et une
retenue r3. Le résultat de l’addition est = 3210.
D’une manière générale, il faut additionner les bits de même poids et la retenue éventuelle
de l’addition des deux bits de poids inférieur.
ai
Additionneur i
bi complet
ri ri+1
3
Son fonctionnement obéit à la table de vérité suivante :
ri bi ai i ri+1
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Mise en équation :
i ai bi r ai bi ri ai bi ri ai bi ri
i (ai bi ai bi ).ri (ai bi ai bi ).ri
i ( ai bi ).ri ( ai bi ).ri ai bi ri
ri 1 ai bi ri ai bi r i ai bi ri ai bi ri ai bi (ai bi ).ri
i
4
IV. Additionneur de deux nombres binaires
A = (a a a a )2 B =( b b b b )2
3 2 1 0 3 2 1 0
b3 a3 b2 a2 b1 a1 b0 a0
r0 =0
r3 r2 r1
r4
4 3 2 1 0
Les additionneurs à retenue série sont les types d'additionneurs les plus simples à
concevoir. Ils ont cependant un inconvénient majeur dû au phénomène de propagation
de la retenue. En effet, à cause du retard de propagation introduit par chaque étage, la
retenue r n'est délivrée qu'après un temps , la retenue r n'est délivrée qu'après 2, et
1 2
ainsi de suite. Autrement dit, les retards de propagation introduits par les étages
s'additionnent de sorte que la retenue rn'est obtenue qu'après un temps de n .
n
Evidemment, à mesure qu'augmente le nombre de bits, la durée nécessaire pour obtenir
le résultat d'une addition augmente. Cette limitation est contournée en utilisant des
additionneurs à retenue anticipée qui sont plus rapides au prix d’une complexité plus
grande.
5
IV.2. Additionneur à retenue anticipée
Dans ce type d'additionneurs, toutes les retenues sont obtenues simultanément (en
parallèle) à partir des données à additionner.
Pour faciliter le raisonnement, nous allons étudier le cas d’un additionneur anticipé de
deux nombres binaires à 3 bits chacun.
Nous avons vu que pour un additionneur complet la retenue est donnée par :
ri 1 ai bi ri .(a i bi )
calcul de r1 :
r1 a0 b0 r0 .( a0 b0 ) a0 b0
calcul de r2 :
r2 a1b1 r1 .( a1 b1 ) a1b1 (a1 b1 ).a0 b0
r2 a1b1 a 0 b 0 .(a1 b1 )
calcul de r3 :
On obtient ainsi le circuit d’un additionneur à retenue anticipée qui effectue l'addition de
deux nombres binaires de 3 bits chacun :
6
En observant le schéma ci-dessus, on constate que le temps de traversée qui est lié au
nombre de couches traversées est le même pour toutes les retenues. Ce phénomène est
appelé anticipation de la retenue.
Le circuit intégré 7483 est un additionneur à retenue anticipée qui effectue l'addition de
deux nombres binaires de quatre bits chacun. La figure n°6 reproduit le schéma logique
du 7483 tel qu'il apparaît dans la fiche technique du fabricant.
7
Figure n°6
Figure n°7
La notation complément à 2 est la plus utilisée pour représenter des nombres signés dans
un calculateur. Il se prête, comme on le verra au paragraphe V.2., à faciliter l’opération de
soustraction.
Pour faciliter la compréhension, nous allons raisonner sur des exemples d'addition des
nombres binaires de 5 bits (bit de signe y compris).
Avec 5 bits, on peut représenter les nombres signés allant de -16 à +15.
Exemple 1 : addition de +7 et +2
00111
+ 00010
01001
8
Le bit de signe est celui d'un nombre positif. Le résultat apparaît sous sa forme exacte.
Exemple 2 : addition de +7 et -2
00111
+ 11110
1 00101
Exemple 3 : addition de -7 et +2
11001
+ 00010
11011
Le bit de signe est celui d'un nombre négatif. Le résultat apparaît en complément à 2.
Pour retrouver la valeur exacte de ce résultat (à titre de vérification), il suffit de le
complémenter à 2, ce qui donnera : 0101. Le résultat est bien -5.
Exemple 4 : addition de -7 et -2
11001
+ 11110
1 10111
Dans ce cas aussi, la retenue doit être rejetée. Le résultat apparaît en complément à 2.
Exemple 5 : addition de -7 et +7
11001
+ 00111
1 00000
Exemple 6 : addition de +9 et +8
01001
+ 01000
10001
Le bit de signe est celui d'un nombre négatif. Le résultat devrait être +17. Ce qui est bien
entendu une erreur. En effet, on ne peut pas représenter avec 5 bits le nombre +17. Il y a
donc un dépassement.
9
Exemple 7 : addition de -9 et -8
10111
+ 11000
101111
Le bit de signe est celui d'un nombre positif. Le résultat devrait être -17. Dans ce cas
aussi, il y a un dépassement.
- Les bits de même poids (y compris les bits de signe) sont additionnés successivement
en tenant compte de l'éventuelle retenue de l'addition précédente.
- Il y a dépassement quand les deux nombres additionnés sont positifs et que le bit de
signe du résultat est ‘1’, ou quand les deux nombres additionnés sont négatifs et que le
bit de signe du résultat est ‘0’.
Rappelons que le complément à 1 d’un nombre A codé sur n bits est tout simplement son
complément A .
Ainsi : A an-1 ...............a0
+ +
A an-1 ................ a0
2n-1 1 ................ 1
n
A+A=2 -1
n
à = A + 1 = (2 -1-A) + 1
n
Ã=2 -A
n
Or, le nombre binaire le plus grand qu’il est possible de représenter avec n bits est 2 -1.
Ainsi, le bit de poids n ne doit pas être pris en compte. D’où :
10
à = -A
Donc, le complément à 2 de A est son opposé. Ainsi, une opération de soustraction A-B
se ramène à une addition A+(-B). On additionne le nombre A et le complément à 2 du
nombre B et on ignore la retenue si elle existe.
VI. Comparateur
S(A>B)
A
E(A=B)
comparateur
B
I(A>B)
Soient A et B deux nombres binaires que nous supposerons à 3 bits chacun. A et B sont
égaux si tous les bits ayant le même poids sont égaux deux à deux.
A a 2 a1 a 0 B = b2 b1b0
A B si ( a 2 b2 ) ET ( a1 b1 ) ET ( a 0 b0 )
Au chapitre II, nous avons vu qu'on peut facilement détecter l'égalité de deux bits x et y
E ( a 2 b 2 ) . ( a1 b1 ) . ( a 0 b0 )
11
Soient x et y deux bits indépendants. On détermine la fonction s(x>y) à partir de la table
de vérité suivante :
y x s(x>y)
0 0 0
0 1 1
1 0 0
1 1 0
y x i(x<y)
0 0 0
0 1 0
1 0 1
1 1 0
i( x y) x y
D' où :
I ( A B) a 2 b2 (a 2 b 2 ).a1b1 (a 2 b 2 ).(a1 b1 ).a 0 b0
12
On obtient ainsi le circuit du comparateur des deux nombres A et B à 4 bits chacun
(figure n°9).
Figure n°9
13
Figure n°10
14
15