Considérons d'abord le cas d'une addition sans débordement (on ne considère que les n bits résultats d'une opération sur deux nombres sur n bits). Détaillons les 4 cas (selon les signes des opérandes) :
5 | 00101 | -5 | 11011 | -5 | 11011 | 5 | 00101 |
9 | 01001 | -9 | 10111 | 9 | 01001 | -9 | 10111 |
14 | 01110 | -14 | 10010 | 4 | 00100 | -4 | 11100 |
Comment est-ce possible ? Cas de l'addition de X et Y deux entiers négatifs. Soit Z = X + Y. En complément à deux, . Donc
ce qui sur n bits donne bien 2n - .
Considérons le cas du débordement : il y a débordement si
13 | 01101 | -13 | 10011 | |
9 | 01001 | -9 | 10111 | |
sur n bits | -10 | 10110 | 10 | 01010 |
sur n+1 bits | 22 | 010110 | -22 | 101010 |
Le débordement peut être détecté :
? Comment fonctionne l'addition de nombres codés en complément à 1 ?