(a) 0110 1011 + 1011 1101 = 0010 1000 correcte : (107)10 + (−67)10 = (40)10
(b) 1001 0110 + 1111 1011 = 1001 0001 correcte : (−106)10 + (−5)10 = (−111)10
(c) 0110 1111 + 0001 1001 = 1000 1000 incorrecte : (111)10 + (25)10 = (136)10 6=
(−120)10 ! ! !
D´epassement de capacit´e : (136)10 >(127)10
(d) 1000 0010 + 1010 1011 = 0010 1101 incorrecte : (−126)10 +(−85)10 6= (136)10 ! ! !
D´epassement de capacit´e : (−126)10 + (−85)10(−211)10 <(−128)10 ... On peut
constater que le signe du r´esultat ne correspond pas `a ce qu’on attend de l’addi-
tion de deux nombres n´egatifs ...
Il faut toujours v´erifier le r´esultat des calculs ...
6. En distinguant trois cas, montrer que l’addition binaire usuelle fonctionne avec des nombres
repr´esent´es en compl´ement `a deux (sauf en cas de d´epassement de capacit´e !).
Les trois cas `a distinguer pour l’addition de deux nombres aet ben compl´ement `a
deux sont les suivants :
(a) aet bsont tous les deux positifs :aet bsont donc directement repr´esent´es
en binaire. La somme (positive) est ´egalement repr´esent´ee directement en binaire
pur. Le bit de poids fort reste `a 0, sauf en cas de d´epassement de capacit´e.
(b) un seul des deux nombres est positif (par exemple a). Selon la repr´esentation
en compl´ement `a deux, nous additionnons en binaire a+b+2n. Si aest sup´erieur
`a ben valeur absolue, alors la somme a+best positive. Le calcul de a+b+ 2n
(donc strictement sup´erieur `a 2n) engendre un bit de poids n+ 1 qui est ´elimin´ee
(car hors de la repr´esentation sur nbits) et seule la repr´esentation binaire pure
de a+best conserv´ee (ce qui n’exclue pas un d´epassement de capacit´e). Si aest
inf´erieur `a b, alors a+b+ 2nest strictement inf´erieur `a 2net nous n’avons pas
de retenue engendr´ee par les bits de poids n.a+best n´egatif et donc a+b+ 2n
est sa repr´esentation correcte en compl´ement `a deux.
(c) aet bsont tous les deux n´egatifs : dans la repr´esentation en compl´ement
`a deux, nous additionnons, a+ 2n+b+ 2n. S’il n’y a pas de d´epassement de
capacit´e, a+best n´egatif et a+b+ 2nest strictement inf´erieur `a 2n. On a donc
la somme de a+b+ 2net de 2n. Or le terme 2nengendre un bit de poids n+ 1
qui est ´elimin´e car on travail sur nbits. Le r´esultat sur nbits est a+b+ 2net
c’est la repr´esentation correcte de la somme a+bqui est n´egative.
Exercice 3 R´ecapitulatif
En m´emoire, on trouve la s´equence suivante 01101010 10010101. Indiquez la valeur de cette
m´emoire dans les cas o`u cette suite est constitu´ee de :
1. deux nombres entiers naturels cod´es en D´ecimal Cod´e Binaire (BCD) :
→On traduit chaque groupe de 4 bits en d´ecimal : 0110 1010 1001 0101 donne : 6
10 9 5 ... petit probl`eme : 1010 n’est pas une s´equence valide en BCD. S’il s’agit
r´eellement de BCD, la s´equence contenue en m´emoire est corrompue.
2. deux nombres entiers naturels cod´es chacun sur 8 bits :
→(01101010)2= (106)10 et (10010101)2= (149)10
3