Zweierkomplement: negative Binärzahlen verstehen
Das Zweierkomplement stellt positive und negative ganze Zahlen in einer festen Bitbreite dar. Negative Werte entstehen durch Bitinversion plus 1. Dadurch kann dieselbe Binäraddition für Addition und Subtraktion verwendet werden.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Was die Bitbreite festlegt
Ein Bitmuster hat erst zusammen mit seiner Bitbreite eine eindeutige Bedeutung. Auf dieser Seite rechnen wir meist mit 4 Bit.
Zweierkomplement
Das Zweierkomplement ist eine Darstellung vorzeichenbehafteter ganzer Zahlen mit fester Bitbreite. Das höchstwertige Bit, kurz MSB, ist bei nichtnegativen Zahlen 0 und bei negativen Zahlen 1.
Mit $n$ Bits ist der Wertebereich
$$-2^{n-1}\text{ bis }2^{n-1}-1.$$
Bei 4 Bit reicht er deshalb von $-8$ bis $7$. Es gibt 16 Bitmuster und genau eine Darstellung der Null: 0000.
| Dezimal | 4 Bit | Dezimal | 4 Bit |
|---|---|---|---|
| 0 | 0000 | -1 | 1111 |
| 1 | 0001 | -2 | 1110 |
| 2 | 0010 | -3 | 1101 |
| 3 | 0011 | -4 | 1100 |
| 4 | 0100 | -5 | 1011 |
| 5 | 0101 | -6 | 1010 |
| 6 | 0110 | -7 | 1001 |
| 7 | 0111 | -8 | 1000 |
Das MSB ist kein abtrennbares Vorzeichen wie ein Minuszeichen. Es gehört zum Zahlenwert und hat im Zweierkomplement ein negatives Stellengewicht.
Wie du einen negativen Wert bildest
Um bei fester Bitbreite den Gegenwert einer Zahl zu bilden, gehst du in zwei Schritten vor:
- Invertiere jedes Bit: Aus
0wird1, aus1wird0. - Addiere
1zum invertierten Bitmuster.
Gesucht ist die 4-Bit-Darstellung von $-6$.
Der Betrag $6$ lautet 0110.
- Bits invertieren:
0110wird1001. - Eins addieren:
1001 + 0001 = 1010.
Damit stellt 1010 bei 4 Bit den Wert $-6$ dar.
Dasselbe Verfahren wechselt auch von einer negativen Zahl zurück zum positiven Gegenwert:
1010 wird nach Inversion zu 0101; plus 1 ergibt 0110, also $6$.
Der kleinste darstellbare Wert ist ein Sonderfall. Bei 4 Bit ist das $-8$ mit 1000. Seine Negation $+8$ liegt außerhalb des Wertebereichs. Invertieren und Addieren liefert bei 4 Bit wieder 1000; das ist ein Überlauf und keine Darstellung von $+8$.
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
Aus 0110 wird durch Invertieren . Nach der Addition von 1 entsteht . Das MSB des Ergebnisses ist ; das Bitmuster stellt daher eine Zahl dar.
1 addieren.1 addieren.Wie du ein Bitmuster auswertest
Beginnt das Bitmuster mit 0, wertest du es wie eine gewöhnliche nichtnegative Binärzahl aus.
Beginnt es mit 1, kannst du den Betrag durch Invertieren und Addieren von 1 bestimmen. Anschließend setzt du ein Minuszeichen davor.
Welchen Wert hat 1101 bei 4 Bit?
- Das MSB ist
1; der Wert ist negativ. - Invertieren:
1101wird0010. - Eins addieren:
0010 + 0001 = 0011. 0011ist dezimal $3$.
Also gilt: 1101 stellt $-3$ dar.
Du kannst das Bitmuster auch direkt auswerten. Bei 4 Bit hat das MSB das Gewicht $-8$; die übrigen Bits haben die Gewichte $4$, $2$ und $1$:
$$1101=-8+4+0+1=-3.$$
Allgemein besitzt das MSB bei $n$ Bits das Gewicht $-2^{n-1}$. Alle anderen Stellen behalten ihre positiven Zweierpotenzen.
Wie Addition und Subtraktion funktionieren
Du addierst Zweierkomplementzahlen spaltenweise wie gewöhnliche Binärzahlen. Ein Zusatzbit links der festen Bitbreite wird verworfen. Danach musst du getrennt prüfen, ob das mathematische Ergebnis im Wertebereich liegt.
Berechne bei 4 Bit: $5+(-6)$.
- $5$ wird als
0101dargestellt. - $-6$ wird als
1010dargestellt. - Die Addition ergibt
0101 + 1010 = 1111. 1111steht für $-1$.
Das Ergebnis stimmt mit $5+(-6)=-1$ überein und liegt im Bereich von $-8$ bis $7$.
Eine Subtraktion ersetzt du durch die Addition des negierten zweiten Operanden:
$$a-b=a+(-b).$$
Berechne bei 4 Bit: $7-3$.
- $7$ ist
0111. - $3$ ist
0011; seine Negation ist1101. - Addiere:
0111 + 1101 = 1|0100. - Verwirf das Zusatzbit links:
0100bleibt übrig. 0100steht für $4$.
Damit gilt $7-3=4$.
Woran du einen Überlauf erkennst
Ein arithmetischer Überlauf entsteht, wenn das mathematische Ergebnis nicht in den Wertebereich passt. Bei einer Addition erkennst du ihn einfach an den Vorzeichen:
- Zwei positive Operanden ergeben scheinbar ein negatives Resultat.
- Zwei negative Operanden ergeben scheinbar ein nichtnegatives Resultat.
- Bei Operanden mit verschiedenen Vorzeichen tritt bei der Addition kein Überlauf auf.
Bei 4 Bit ergibt 0100 + 0101 = 1001.
Die Bitrechnung scheint $-7$ zu liefern. Mathematisch ist aber $4+5=9$. Da $9$ außerhalb des 4-Bit-Bereichs liegt, ist das Ergebnis übergelaufen.
Ein ausgehender Übertrag ist nicht automatisch ein Überlauf: Bei 0101 + 1101 = 1|0010 wird das Zusatzbit verworfen, und das korrekte Ergebnis ist $5+(-3)=2$.
Prüfe Überlauf nicht am Zusatzbit, sondern am Wertebereich und an den Vorzeichen von Operanden und Ergebnis.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Zweierkomplement
- feste Bitbreite bestimmt den Wertebereich
- MSB besitzt ein negatives Stellengewicht
- Negation erfolgt durch Invertieren und Addieren von 1
- Subtraktion wird zur Addition des Gegenwerts
- Zusatzbit wird außerhalb der Wortbreite verworfen
- Überlauf verlangt eine getrennte Vorzeichen- und Bereichsprüfung
- Null besitzt genau eine Darstellung
Mit Google fortfahren