Zum Inhalt springen

Informatik · Klasse 10–12 · aktualisiert

Zweierkomplement: negative Binärzahlen verstehen

Du lernst, wie Computer negative Zahlen speichern: Wertebereich, Codieren und Decodieren, Addieren, Subtrahieren und Überlauf erkennen.

0 von 9 Aufgaben gelöst

Zweierkomplement: negative Binärzahlen verstehen

Kurz gesagt

Das Zweierkomplement stellt positive und negative ganze Zahlen im Dualsystem bei fester Bitlänge dar. Ist das höchstwertige Bit 1, ist die Zahl negativ. Bei 8 Bit reicht der Wertebereich von −128 bis +127. Eine Subtraktion wird als Addition gerechnet.

Dein Taschenrechner kennt ein Minuszeichen, ein Computer-Speicher aber nur 0 und 1. Trotzdem rechnet er mit −4 oder −128, und zwar ohne Extra-Zeichen. Wie das geht und wann ein Ergebnis plötzlich falsch wird, lernst du hier.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Ein Computer speichert Zahlen mit einer festen Anzahl von Bits, zum Beispiel 8 Bit. Das Zweierkomplement ist eine Darstellung für positive und negative ganze Zahlen im Dualsystem. Sie braucht keine Zeichen wie + und −. Dafür muss die Bitlänge fest sein, denn das höchstwertige Bit muss immer dieselbe Bedeutung haben. Das höchstwertige Bit ist das ganz linke Bit.

So erkennst du das Vorzeichen: Ist das höchstwertige Bit 1, ist die Zahl negativ. Ist es 0, ist die Zahl positiv oder null. Die 0 gehört also zu den Mustern mit führender 0. Deshalb reicht der Wertebereich bei n Stellen von -2^{n-1} bis 2^{n-1}-1. Der Wertebereich sind alle Zahlen, die man mit dieser Bitlänge darstellen kann. Es gibt nur eine Darstellung für die Null. Das Zweierkomplement gibt es nur bei Zahlen mit Vorzeichen (signed), nicht bei vorzeichenlosen (unsigned).

Beispiel mit 4 Bit: Hier ist n = 4, der Bereich geht also von -2^3 = -8 bis 2^3-1 = 7. Dazu passt: 0000 ist 0, 0111 ist 7, 1000 ist −8 und 1111 ist −1. Die 4-Bit-Grenzen folgen aus der Formel.

Definition

Zweierkomplement

Eine Darstellung für positive und negative ganze Zahlen im Dualsystem, die keine zusätzlichen Zeichen wie + und − braucht. Sie setzt eine feste Bitlänge voraus.

Bitbreitekleinste Zahlgrößte Zahl
4 Bit−87
8 Bit−128+127
16 Bit−32.768+32.767

Merke: Bei n Bit reicht der Wertebereich von −2^(n−1) bis 2^(n−1)−1. Ist das höchstwertige Bit 1, ist die Zahl negativ.

Teste dich

LeichtWelchen Wertebereich hat eine 8-Bit-Zahl im Zweierkomplement?

Alles auf einen Blick

Zweierkomplement

  • Wertebereich

    Bei n Bit von −2^(n−1) bis 2^(n−1)−1, bei 8 Bit von −128 bis +127

  • Vorzeichen

    Ist das höchstwertige Bit 1, ist die Zahl negativ

  • Codieren

    Für eine negative Zahl negierst du alle Stellen der positiven und addierst 1

  • Rechnen

    Eine Subtraktion wird zur Addition, die 9. Stelle fällt bei 8 Bit weg

  • Überlauf

    Die Summe liegt außerhalb des Wertebereichs, ein Übertrag allein reicht nicht

Musteraufgabe · Schritt für Schritt

Ausgedachtes Beispiel: −5 + 3 mit 4 Bit

  1. 1Annahme: 4 Bit, Wertebereich −8 bis 7. Die Aufgabe ist ausgedacht.
  2. 2−5 codieren: 5 = 0101, negiert 1010, plus 1 ergibt 1011
  3. 33 codieren: positiv, also führende 0: 0011
  4. 4Addieren: 1011 + 0011 = 1110
  5. 5Decodieren: Das erste Bit ist 1, also negativ. Negiert 0001, plus 1 ergibt 0010, das ist 2, also −2
  6. 6Probe: −5 + 3 = −2, und −2 liegt im Bereich −8 bis 7, also kein Überlauf

Fehler finden

Prüfe die Aussagen zum Überlauf In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Bei 8 Bit reicht der Wertebereich von bis +127. Wenn das höchstwertige Bit einer Zahl ist, ist die Zahl negativ. Beim Zweierkomplement wird eine Subtraktion auf eine zurückgeführt.

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Zweierkomplement

LeichtWelches 4-Bit-Muster ist im Zweierkomplement die kleinste Zahl?
MittelWelche Zahl steht bei 8 Bit im Zweierkomplement hinter 11100110?
SchwerAusgedachte Aufgabe mit 4 Bit: Du rechnest 5 + 6 als 0101 + 0110 = 1011. Was stimmt?

Weiterlesen in Informatik