Beruflich Dokumente
Kultur Dokumente
CHAPITRE A2 :
Leçon A1 :
OPÉRATIONS ARITHMETIQUES BINAIRES
Objectifs :
Comme en algèbre ordinaire, il faut distinguer un nombre positif d’un nombre négatif, pour cette raison, on attribue
un signe à tout nombre binaire.
2ème cas : Soit X un entier positif et le format de représentation, on appelle complément à « 2 » de X, le nombre Y
tel que Y = 2 - X
ème
3 cas : On cherche le complément à « 2 » en partant de la droite ( poids le plus faible ) sans aucun changement
jusqu’au premier 1 rencontré , puis en changeant les « 1 » par des « 0 » et les « 0 » par des « 1 ».
Le demi-additionneur ne peut pas en réalité de réaliser totalement une addition. Pour cela il faut une retenue
résultante de l’addition des bits du rang précédent.
ai bi i r r
i+1 i+1 S
Les expressions logiques sont :
0 0 0 0 0
0 0 S = r ( a bi )
1i i0 1i
0 1 0 0 1
0 1 r = r . ( a bi ) + a i .bi = ri . ( a i + bi ) + a i .bi
1
i+1 1i 0i
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Le logigramme correspondant :
Si
ai
ri+1
bi
ri
Symbole :
Additionneur a n bits :
a0 b0 r S 10110
0 0 0x 0
0 1 0 0 101
1 0 0 ----------------
0
1 1 0 10 1 1 0
1
11 0 1 1 0 .
----------------------
= 1111110
Réalisation pratique :
a0
Opérateur ET a1 a0
+ C0
½ additionneur
x
b1 b0 Opérateur ET b0
C1
---------------- 2 Opérateurs ET
r2 r1 a 1b 0 a 0 b 0 +
½ additionneur b1
a1b1 a 0 b1
---------------------- a1
= C3 C2 C1 C0 C2
C3
Addition Multiplication
29 1 1 1 0 1 1 0 1 1 11
Deux nombres 9 1 0 0 1 1 1 0 6
positifs --------------------- --------------------------
38 1 0 0 1 1 0 1 0 1 1
1 0 1 1
-----------------------------
1 0 0 0 0 1 0 66
Nombre positif et 7+ ( -5 ) = 2 7 x (-5) = -35
nombre négatif -5 son compl à 2 : 1 0 1 1 On écrit (-5) sur un format de 7 bits, son
complément à « 2 » est : 1 1 1 1 0 1 1
0 1 1 1+ 1 0 1 1= 1 0 0 1 0 111x1111011= 110 1011101
on prend le résultat
sur un format de 7 bits
Soit de la même façon que l’addition des nombres binaires en appliquant la table suivante :
a01 0b01 0r 1 S
0 0 0 0
-
0 1 1 1
1 1
1 1 00 1 0 1 1
------------------
1 1 0 0
= 0 1 0 1 0
Soit en faisant le complément à « 2 »du terme soustractif qui doit être ajouté au nombre le plus
grand. Pour avoir le résultat, il est nécessaire d’éliminer le bit le plus significatif du résultat de
cette somme ( le 1er à gauche )
1°) Réalisation pratique :
d’après la table précédente ( A = a 0 et B = b0 ) , ce dispositif est appelé demi-soustracteur
Ces expressions logiques sont : D = a 0 b0 r = a 0 .b0
Le logigramme correspondant :
D
a0
r
b0
Le logigramme correspondant :
ri
Di
bi
ri+1
ai
V- DIVISION BINAIRE :
Elle s'effectue de la même façon que celle des nombres décimaux Elle se décompose en une suite de soustractions
et de décalage vers la droite .
- 100 0 1 0 1 0 1 0 1
0 0
0 1 1 1 0
-1 0 0 1
1 0 1
0 1 0 0 0
- 1 0 1
0 1 1 1
- 1 0 1
0 1 0 0
- 0 0 0
1 0 0
VI- LE COMPARATEUR :
Principe :
Soit à comparer deux nombres A( a3a2a1a0 ) et B( b3b2b1b0 ).
Exemple décimal : A( 2054 ) et B( 1995 )
Trois cas se présentent :
a3 > b3 A > B les autres digits de A et de B .
a3< b3 A < B les autres digits de A et de B .
a3 = b3 , on ne peut conclure , il faut poursuivre la comparaison sur les autres bits a 2 et b2 Si a2
= b2 , on compare a1 et b1 et ainsi de suite .
Si a3= b3 ; a2 = b2 ; a1 = b1 et a0 = b0 alors A = B . Dans notre exemple :2 > 1 , donc A > B .
Comparateur A=B
b0 A<B
- Table de vérité :
S1 = a 0 .b0 + a 0 .b 0 = a 0 b 0 S2 = a 0 .b 0 S3 = a 0 .b0
- Logigramme :
S3
a0
S1
b0
S2
- Généralisation :
Pour comparer deux nombres codés sur plusieurs bits, il est nécéssaire d’assicier entre eux autant de comparateur
élémentaires qu’il y a de bits.
Soit à comparer : A = a3a2a1a0 B = b3b2b1b0
Pour conclure que A = B , il faut que :
a3 = b3 ET a2 = b2 ET a1 = b1 ET a0 = b0
S1 = ( a 3 b3 ) . ( a 2 b 2 ) . ( a1 b1 ) . ( a 0 b0 )
Pour conclure que A>B il faut que :
a3 > b3 OU(a3 = b3 ET a2 > b2) OU(a3 = b3ET a2 = b2ET a1 > b1 ) OU(a3 = b3ET a2 = b2ET a1 = b1 ET
a0 > b0)
S2 = a 3 .b3 + ( a 3 b3 ) . a 2 .b 2 + ( a 3 b3 ).( a 2 b2 ) .a1.b1 + ( a 3 b3 ).( a 2 b 2 ) ( a1 b1 ) . a 0 .b0
a3 b3 a2 b2 a1 b1 a0 b0
C1 A=B
C3 C2 C0
A>B
1
A<B
1