Zweierkomplementdarstellung

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. Dabei steht die "0" für positive Zahlen und die "1" für negative Zahlen (mit negativem Vorzeichen).

Man unterscheidet die Komplement- und die Zweierkomplementdarstellung.

Komplementdarstellung

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

Leider gibt es bei der Komplementdarstellung gleich zweimal die Null. Einmal mit positivem Vorzeichen ("+0") und einmal mit negativem Vorzeichen ("-0"). Hierbei gelten auch andere Rechenregeln. Das gewohnte Rechnen mit negativen Zahlen funktioniert nicht mehr.

+0 + +0 = +0
-0 + -0 = -0
+0 + -0 = ??

Allerdings gibt es Gründe, warum die Komplementdarstellung in manchen Anwendungen doch Sinn ergibt. Wobei es hier um die Darstellung der Null ("0") mit den Vorzeichen Minus ("-") und Plus ("+") geht.

Wenn in einem Anwendungsfall eine negative Zahl auf Null ("0") gerundet wird, dann muss diese Null mit negativem Vorzeichen in der Form "-0" dargestellt werden, damit die Information "unter Null" nicht verloren geht. Das ist besonders im wissenschaftlichen Umfeld wichtig. Gerade wenn es um chemische oder physikalische Phänomene geht, dann ist Null ("0") nicht immer vorzeichenlos. Beispielsweise bei Temperaturangaben in Celsius bedeutet eine negative Null ("-0") eine Temperatur unterhalb des Gefrierpunkts von Wasser. Der Unterschied zwischen "+0" und "-0" hat hier eine entscheidende Bedeutung.
Aber was ist, wenn die Temperatur wirklich Null ("0") ist? Das kann mit der Komplementdarstellung nicht dargestellt werden.

Zweierkomplementdarstellung

Für das Rechnen mit ganzen Zahlen ist die Komplementdarstellung eher ungeeignet. Daher muss eine andere Darstellungsform gefunden werden. Die Lösung dafür ist die Zweierkomplementdarstellung.

Auch hier wird das erste Bit einer Bitfolge als Vorzeichenbit missbraucht und der Wert "0" den positiven Zahlen zugerechnet.
Zur Darstellung und Berechnung positiver wie auch negativer ganzer Zahlen ist die Zweierkomplementdarstellung die gebräuchlichste Form.

 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)

Zweierkomplement mit 4 Bit für 16 Zahlen

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

Bei dem mit 0 beginnenden Hochzählen wird bei der achten Bitfolge zum ersten Mal das erste Bit zu 1 (bei -8). Springt man also ab der achten Bitfolge in den negativen Bereich, so hat man die folgende Eigenschaft: Bei den Zweierkomplementdarstellung stellt das erste Bit das Vorzeichen dar (1 = "-").

Auf diese Weise entsteht dann eine Wertebereich, der von -8 bis 7 reicht, den man mit 4 Bit darstellen kann. Dabei zeigt das erste Bit, ob es sich um eine positive oder negative Zahl handelt.

Ein Nachteil des Zweierkomplements ist, dass man zwischen dem positiven und negativen Wert nicht einfach so umrechnen kann.
Das Vorzeichen einer Zahl (z. B. von -3 auf 3) ändert man dadurch, dass man alle Bits zuerst invertiert und danach noch eine 1 addiert. Beispielhaft wird aus der "-3" mit "1101" zuerst "0010" (invertiert) und dann "0011" (plus 1), und somit die Wertigkeit "+3".

Rechnen mit dem Zweierkomplement

Bei der Subtraktion von Dualzahlen gelten im Prinzip die gleichen Regeln, wie bei der Subtraktion von Dezimalzahlen. Das Problem ist jedoch, 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.

Zahlen in der Informatik

Weitere verwandte Themen:

Teilen:

Elektronik-Fibel

Elektronik-Fibel

Das will ich haben!