Informatik

Zweierkomplement: negative Binärzahlen verstehen

Zweierkomplement: negative Binärzahlen verstehen
Zweierkomplement: negative Binärzahlen verstehen
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

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.

Deine Lernziele

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.

Definition

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.

Dezimal4 BitDezimal4 Bit
00000-11111
10001-21110
20010-31101
30011-41100
40100-51011
50101-61010
60110-71001
70111-81000
Merke

Das MSB ist kein abtrennbares Vorzeichen wie ein Minuszeichen. Es gehört zum Zahlenwert und hat im Zweierkomplement ein negatives Stellengewicht.

Teste dich
Frage 1 von 1LeichtWelcher Wertebereich gehört zu einer 4-Bit-Zahl im Zweierkomplement?
Lösung: -8 bis 7 — Für $n=4$ gilt: $-2^3=-8$ und $2^3-1=7$.
Wie du einen negativen Wert bildest

Um bei fester Bitbreite den Gegenwert einer Zahl zu bilden, gehst du in zwei Schritten vor:

  1. Invertiere jedes Bit: Aus 0 wird 1, aus 1 wird 0.
  2. Addiere 1 zum invertierten Bitmuster.
Beispiel

Gesucht ist die 4-Bit-Darstellung von $-6$.

Der Betrag $6$ lautet 0110.

  1. Bits invertieren: 0110 wird 1001.
  2. 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$.

Gut zu wissen

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$.

Lückentext

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.

Lösungen: Lücke 1: 1001; Lücke 2: 1010; Lücke 3: 1; Lücke 4: negative. Die Zweierkomplementbildung besteht immer aus beiden Schritten: alle Bits invertieren und anschließend 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.

Beispiel

Welchen Wert hat 1101 bei 4 Bit?

  1. Das MSB ist 1; der Wert ist negativ.
  2. Invertieren: 1101 wird 0010.
  3. Eins addieren: 0010 + 0001 = 0011.
  4. 0011 ist 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.

Teste dich
Frage 1 von 2LeichtWas verrät ein MSB von 1 bei einer Zweierkomplementzahl?
Lösung: Der dargestellte Wert ist negativ. — Bei fester Zweierkomplementdarstellung kennzeichnet das MSB 1 einen negativen Wert.
Frage 2 von 2MittelWelchen Dezimalwert hat 1001 bei 4 Bit?
Lösung: -7 — Direkt ausgewertet gilt: $-8+0+0+1=-7$.
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.

Beispiel

Berechne bei 4 Bit: $5+(-6)$.

  • $5$ wird als 0101 dargestellt.
  • $-6$ wird als 1010 dargestellt.
  • Die Addition ergibt 0101 + 1010 = 1111.
  • 1111 steht 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).$$

Beispiel

Berechne bei 4 Bit: $7-3$.

  1. $7$ ist 0111.
  2. $3$ ist 0011; seine Negation ist 1101.
  3. Addiere: 0111 + 1101 = 1|0100.
  4. Verwirf das Zusatzbit links: 0100 bleibt übrig.
  5. 0100 steht 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.
Beispiel

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$.

Merke

Prüfe Überlauf nicht am Zusatzbit, sondern am Wertebereich und an den Vorzeichen von Operanden und Ergebnis.

Teste dich
Frage 1 von 3LeichtWelche Aussage über ein Zusatzbit links der festen Bitbreite stimmt?
Lösung: Es wird verworfen, beweist aber allein keinen arithmetischen Überlauf. — Die Wortbreite bleibt fest. Ob ein Überlauf vorliegt, entscheidet der darstellbare Wertebereich.
Frage 2 von 3MittelWas ergibt 0111 + 1101 bei 4 Bit?
Lösung: 0100, also 4 — 1101 steht für -3. Damit rechnest du $7+(-3)=4$.
Frage 3 von 3SchwerWarum ist 0100 + 0101 = 1001 bei 4 Bit ein Überlauf?
Lösung: Zwei positive Zahlen ergeben ein negatives Bitmuster, weil 9 nicht darstellbar ist. — Der 4-Bit-Bereich endet bei 7. Das mathematische Ergebnis 9 liegt außerhalb dieses Bereichs.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • 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
Abschluss-Check
Teste dich
Frage 1 von 3LeichtWelchen Wert stellt 1010 bei 4 Bit dar?
Lösung: -6 — Invertieren und 1 addieren liefert 0110, also den Betrag 6. Daher ist der Wert -6.
Frage 2 von 3MittelWie berechnest du $3-5$ bei 4 Bit?
Lösung: 0011 + 1011 = 1110, also -2 — Die 4-Bit-Negation von 0101 ist 1011. Die Addition ergibt 1110, und dieses Bitmuster steht für -2.
Frage 3 von 3SchwerWie viele Bits brauchst du mindestens, um sowohl -9 als auch +9 im Zweierkomplement darzustellen?
Lösung: 5 Bit — Mit 5 Bit reicht der Wertebereich von $-16$ bis $15$. Darin liegen sowohl -9 als auch +9.

Passend dazu