Vorzeichenbehaftete Binärdarstellungen: Vorzeichen-Betrag & Zweierkomplement

Praxisnahe Einführung in vorzeichenbehaftete Binärdarstellungen: Vorzeichen‑Betrag vs. Zweierkomplement – verständlich erklärt für negative Ganzzahlen in Binär.

Autor: Leandro Alegsa

Vorzeichenbehaftete Binärdarstellungen werden verwendet, um das Problem der Darstellung negativer Ganzzahlen in Binärform zu lösen. Das Problem beim Versuch, das negative Vorzeichen (-) einer Binärzahl zu speichern, besteht darin, dass einzelne Bits sowohl als Ziffern (Magnitude) als auch als Vorzeichen interpretiert werden könnten. Es ist daher nicht ausreichend, einfach ein Bit als „Minus = 1, Plus = 0“ zu verwenden, ohne Regeln festzulegen, wie arithmetische Operationen und Vergleiche dann funktionieren sollen.

Computerdesigner haben deshalb mehrere Methoden entwickelt, zwei davon sind besonders gebräuchlich: Vorzeichen und Betrag (Sign-and-Magnitude) und das Zweierkomplement. Beide liefern alternative Darstellungen für vorzeichenbehaftete Zahlen, unterscheiden sich aber in Wertebereich, Null-Darstellung und in der Art, wie arithmetische Operationen ausgeführt werden.

Vorzeichen und Betrag (Sign-and-Magnitude)

  • Aufbau: Das höchstwertige Bit (MSB) ist das Vorzeichen (0 = positiv, 1 = negativ). Die restlichen Bits kodieren die absolute Größe (Betrag) in normaler Binärform.
  • Beispiel (8 Bit):
    +13 = 0 0001101 -13 = 1 0001101
  • Eigenschaften:
    • Es gibt zwei Darstellungen für Null: +0 (000...0) und −0 (100...0).
    • Der darstellbare Bereich bei n Bits ist von −(2^{n-1}−1) bis +(2^{n-1}−1).
    • Additionen und Subtraktionen sind komplizierter, weil Vorzeichen und Betrag getrennt behandelt werden müssen (je nach Vorzeichen evtl. Betrag subtrahieren statt addieren).

Zweierkomplement

  • Aufbau und Interpretation: Bei n Bits hat das MSB ein negatives Gewicht (−2^{n-1}), die übrigen Bits haben positive Gewichte. Das ermöglicht eine einheitliche Interpretation aller Bitmuster als ganze Zahlen.
  • Darstellung negativer Zahlen: Man bildet das Zweierkomplement der positiven Zahl, typischerweise durch Invertieren aller Bits und dann Addieren von 1. Alternativ kann man rechnen: Wert = 2^n − |x| (für negative x).
  • Beispiel (8 Bit):
    +13 = 00001101 Invertieren = 11110010 +1 = 11110011  → −13
  • Eigenschaften:
    • Es gibt genau eine Darstellung für Null (000...0).
    • Der darstellbare Bereich ist bei n Bits von −2^{n-1} bis 2^{n-1}−1 (ein größerer negativer Bereich als bei Sign-and-Magnitude).
    • Addition und Subtraktion können mit derselben Hardware wie für unsignierte Zahlen durchgeführt werden; Überlaufbehandlung unterscheidet sich geringfügig und ist leicht erkennbar.
    • Sign-Extension (Vergrößern der Wortbreite) erfolgt durch Auffüllen mit Kopien des Vorzeichenbits (Vorzeichen-Bit nach links fortsetzen), sodass der numerische Wert erhalten bleibt.

Vergleich, Überlauf und praktische Hinweise

  • Warum meist Zweierkomplement? Zweierkomplement ist in moderner Hardware bevorzugt, weil arithmetische Operationen einfacher zu realisieren sind, weil nur eine Null existiert und weil der negative Wertebereich etwas größer ist.
  • Überlauf-Erkennung bei Addition (Zweierkomplement): Tritt auf, wenn zwei Operanden gleichen Vorzeichens addiert werden und das Ergebnis ein anderes Vorzeichen hat. Ein einfacher Test ist: (Carry in Signbit) xor (Carry out Signbit) oder prüfen, ob das Ergebnis ein Vorzeichen hat, das nicht zu den Operanden passt.
  • Vorzeichen erkennen: Bei beiden Systemen zeigt das MSB an, ob die Zahl negativ ist (MSB = 1). Die Interpretation der restlichen Bits unterscheidet sich aber.
  • Konvertierungstipps:
    • Dezimal → Zweierkomplement (negativ): Betrag in Binär, alle Bits invertieren, +1 addieren.
    • Zweierkomplement → Dezimal: Wenn MSB = 0, normale Umwandlung; wenn MSB = 1, entweder Zweierkomplement zurückbilden (invertieren +1) und das Ergebnis negativ setzen oder direkt mit Gewichten rechnen (−2^{n-1} + Rest).

Kurze Erwähnung: Einserkomplement

Als Zwischenform existiert noch das Einserkomplement (ones' complement), bei dem negative Zahlen durch Invertieren aller Bits dargestellt werden. Es hat jedoch ebenfalls zwei Null-Darstellungen (+0 und −0) und wurde größtenteils zugunsten des Zweierkomplements aufgegeben.

Zusammenfassend: Vorzeichen & Betrag ist konzeptuell einfach (Vorzeichenbit + Betrag) hat aber Nachteile bei Null und Arithmetik. Zweierkomplement ist die praktischere und heute meistgenutzte Methode, da sie eine eindeutige Null, einen größeren negativen Bereich und einfacher zu implementierende Rechenoperationen bietet.

Zeichen und Größenordnung

Vorzeichen und Magnitude funktioniert, indem das höchstwertige Bit (MSB - die erste Ziffer) in eine 1 geändert wird, wenn die Zahl negativ ist, und die Zahl z.B. um eins verringert wird:

0000 0010 (2)

wird zu...

1000 0010 (-2)

Diese Methode zur Speicherung negativer Binärzahlen funktioniert nicht, weil

  • Binäre Arithmetik wird nicht funktionieren.
  • Wir müssen zunächst wissen, welchen Speichermechanismus der Compiler einer bestimmten Sprache verwendet.

1er-Komplement

1's Complement funktioniert, indem z.B. die 1 gegen die 0 und die 0 gegen die 1 getauscht werden:

0000 0010 (2)

wird zu...

1111 1101 (-2)

Ähnlich wie die Vorzeichen- und Magnitudenmethode kann diese leicht als negative Zahl definiert werden, da ihr höchstwertiges Bit 1 ist.

2er-Komplement

Das 2er-Komplement ist eine schwierigere Art der Speicherung von Negativen. Es gibt drei Schritte dafür:

  1. Suchen Sie die positive Binärzahl (z.B. 8base 10 = 0000 1000base 2).
  2. Tauschen Sie die 1 gegen 0 und die 0 gegen 1 (z.B. 0000 1000base 2 wird 1111 0111base 2).

Dies ist bekannt als "die Bits umdrehen" oder die Anwendung des logischen NICHT auf die ursprüngliche Basis-2-Darstellung.

  1. Fügen Sie 1 hinzu (z.B. 1111 0111Basis 2 + 1Basis 2 = 1111 1000Basis 2).

Diese Methode ist beliebt, weil:

  • Es ist wie Vorzeichen und Größe; eine negative Zahl beginnt mit einer 1 und eine positive Zahl mit einer 0.
  • Die binäre Arithmetik wird funktionieren.
  • Es gibt nur einen Wert für 0 (0000 0000base 2).


Suche in der Enzyklopädie
AlegsaOnline.com - 2020 / 2025 - License CC3