Rechnen mit dem Zweierkomplement

Die Darstellung ganzer Zahlen erfordert auch die Darstellung negativer Zahlen. Da das duale Zahlensystem kein negatives Vorzeichen kennt, muss man auf ein Hilfsmittel zurück greifen. Dabei wird das erste Bit einer Bitfolge als Vorzeichenbit missbraucht und der Wert 0 den positiven Zahlen zugerechnet.

 0 (0000) / -8 (1000)
+1 (0001) / -7 (1001)
+2 (0010) / -6 (1010)
+3 (0011) / -5 (1011)
+4 (0100) / -4 (1100)
+5 (0101) / -3 (1101)
+6 (0110) / -2 (1110)
+7 (0111) / -1 (1111)

Die Zweierkomplementdarstellung ist die gebräuchliche Form ganzer positiver und negativer Zahlen.

Subtraktion von Dualzahlen mittels Komplementbildung

Für die Subtraktion von Dualzahlen gibt es in der Digitaltechnik keine logische Verknüpfung. Deshalb behilft man sich mit der Komplementbildung, bei der eine Subtraktion in eine Addition umgewandelt wird, bei der das Ergebnis einer Subtraktion entspricht.

2 - 6 = -4
2 + (-6) = -4

Die Subtraktion ist eine Form der Addition, bei der ein Summand ein negatives Vorzeichen hat. Das negative Vorzeichen löst dabei die Addition auf. Die Addition wird zur Subtraktion. Das Ganze lässt sich auch wieder umkehren. Bei der Subtraktion von Dualzahlen macht man sich das zu Nutze, indem man den Zweierkomplement der negativen Zahl bestimmt.

Beispiel: Subtraktion von Dualzahlen mittels Komplementbildung

10 - 110 = ?

Die Umwandlung einer Subtraktion in eine Addition verläuft nach folgenden Schritten:

1. Der Subtrahend wird auf die volle Stellenzahl erweitert (Nullen nach links auffüllen). Hierbei muss die Breite der Komplementdarstellung beider Zahlen berücksichtigt werden. Üblich sind 4, 8, 16, 32 und 64 Bit.

0010 - 0110 = ?

2. Die einzelnen Stellenwerte des Subtrahenden werden negiert bzw. es wird das bitweise Komplement gebildet.

Das bitweise Komplement von 0110 ist 1001.

3. Es wird das Zweierkomplement gebildet (Hinzuaddieren von 1).

1001 + 0001 = 1010

4. Minuend und Zweierkomplement werden addiert.

0010 + 1010 = 1100

Das Ergebnis ist -4.

Bei der Addition von Minuend und Subtrahend kann es wie bei einer normalen Addition zu einem Stellenüberlauf kommen. Der Stellenüberlauf wird ignoriert. Das Ergebnis wird mit gleicher Stellenanzahl wie Minuend und Subtrahend interpretiert.

Vorteile beim Rechnen mit dem Zweierkomplement

  15 +    1 =    16 (10)
1111 + 0001 = 10000 (2)

Nehmen wir an, wir haben eine Ganzzahl "15" in der dualen Darstellung ohne Zweierkomplement "1111" (2) und addieren den Wert "1" in der dualen Darstellung "0001" (2) hinzu? Dann käme es zu einem Überlauf und dem Wert "0000" (2). Das Ergebnis wäre "0" (10) und somit falsch.

  -1 +    1 =    0 (10)
1111 + 0001 = 0000 (2)

Wenn man jetzt definieren würde, dass die Zahl "1111" (2) dem Wert "-1" (10) entspricht, und würde dann den Wert "1" (10) addieren, dann könnte man den Überlauf ignorieren und das Ergebnis wäre korrekt. Diese Vorgehensweise nennt man die Zweierkomplementdarstellung.

Weitere verwandte Themen:

Teilen:

Elektronik-Fibel

Elektronik-Fibel

Das will ich haben!