Darstellung negativer ganzer Zahlen

Negative ganze Zahlen werden als sog. Zwei-Komplement kodiert: Man nimmt den Absolutbetrag, subtrahiert eine 1 und bildet von der Dualdarstellung der Differenz das normale Komplement, indem man jede 0 durch eine 1 und jede 1 durch eine 0 ersetzt. Einige Beispiele (der Übersichtlichkeit halber wollen wir annehmen, dass die Zahl in nur einem Byte gespeichert wird.
Zahl in Dezimal-
darstellung
Zwischenergebnis
(|x| - 1) 
in Dezimaldarstellung
Zwischenergebnis
(|x| - 1) 
in Dualdarstellung 
Endergebnis
-1  0000 0000  1111 1111
-2  0000 0001  1111 1110
-3  0000 0010  1111 1101
-127  126  0111 1110  1000 0001
-128  127  0111 1111  1000 0000
Umgekehrt wird jede Zahl, deren 1. Bit auf 1 gesetzt ist, als negativ interpretiert. Der Absolutbetrag der Zahl ergibt sich, indem von der Dualdarstellung das Komplement gebildet und zu diesem eine 1 addiert wird.

Diese Art der Kodierung negativer ganzer Zahlen durch das Zwei-Komplement wird dadurch motiviert, dass man auf diese Weise die Addition (und damit in Folge auch die anderen Grundrechenarten) im gesamten Zahlenbereich durch die gleiche Schaltung durchführen lassen kann:
Dezimal    Dual 
-3 + 1 =  -2  1111 1101 + 0000 0001 =  1111 1110
-2 + 1 = -1  1111 1110 + 0000 0001 =  1111 1111
-1 + 1 =  1111 1111 + 0000 0001 =  (1)  0000 0000  *)
0 + 1 =  0000 0000 + 0000 0001 =  0000 0001
1 + 1 =  0000 0001 + 0000 0001 =  0000 0010
*) Die führende 1 ist ein Überlauf und wird ausgesteuert.