C’est l’avantage du complément à 2 : l’addition (et la soustraction en la transformant en addition) se fait avec les mêmes circuits logiques que pour les nombres non signés.
Prenons +5 et +3 sur 8 bits :
+5 = 00000101
+3 = 00000011
----------------
=8 = 00001000
👉 Résultat correct : 8.
Calculons 5 + (-3) sur 8 bits.
5 = 00000101
-3 en complément à 2 :
3 = 000000111111110011111101
→ -3 = 11111101Addition :
00000101 (+5)
11111101 (-3)
----------------
00000010 (+2)
👉 Résultat correct : 2.
Calculons -5 + (-3) :
-5 = 11111011-3 = 11111101Addition :
11111011 (-5)
11111101 (-3)
----------------
11111000 (-8)
👉 Résultat correct : -8.
Calculons +120 + +10 :
120 = 0111100010 = 00001010Addition :
01111000 (+120)
00001010 (+10)
----------------
10000010
Résultat binaire : 10000010
En signé : c’est -126 !
👉 Problème d’overflow : le résultat sort de la plage [-128, 127].