Zweierkomplement-Rechner: negative Binärzahlen berechnen und lesen

Zweierkomplement Rechner

Dezimal → Zweierkomplement: —

Zweierkomplement → Dezimal: —

Beide Umrechnungsrichtungen funktionieren unabhängig voneinander. Zahlen außerhalb des gewählten Wertebereichs können nicht dargestellt werden.

Das Zweierkomplement ist eine Darstellung für ganze Zahlen mit Vorzeichen. Es wird verwendet, um positive und negative Zahlen mit einer festen Anzahl von Bits zu speichern und zu verrechnen. Ein Zweierkomplement-Rechner hilft dabei, eine Dezimalzahl in ein Bitmuster umzuwandeln oder ein vorhandenes Bitmuster als vorzeichenbehaftete Zahl zu lesen.

Entscheidend ist die Bitbreite: Dieselbe Folge von Nullen und Einsen kann je nach Länge und Interpretation einen anderen Wert haben. Im Folgenden erkläre ich die Umrechnung anhand von 8 Bit und zeige, worauf bei 16 Bit zu achten ist.

So entsteht das Zweierkomplement

Eine positive Zahl wird zunächst als Binärzahl geschrieben und links mit Nullen auf die gewünschte Bitbreite ergänzt. Um die negative Zahl zu erhalten, werden alle Bits umgekehrt – aus 0 wird 1 und umgekehrt. Anschließend wird 1 addiert.

Für −5 bei 8 Bit sieht die Rechnung so aus:

  1. +5 = 00000101
  2. Bits umkehren: 11111010
  3. Eins addieren: 11111010 + 1 = 11111011

Das 8-Bit-Zweierkomplement von −5 lautet somit 11111011. Die Bitbreite muss vor der Umrechnung feststehen: Bei 16 Bit wäre −5 als 1111111111111011 dargestellt.

Siehe auch  Newton-kg-Rechner: Kraft und Masse richtig umrechnen

Beispiele für 8 Bit

Dezimalzahl Zweierkomplement mit 8 Bit Hinweis
−128 10000000 Kleinster darstellbarer Wert
−13 11110011 Aus 00001101 durch Umkehren und Addieren von 1
−5 11111011 Negatives Rechenbeispiel
0 00000000 Null bleibt unverändert
127 01111111 Größter darstellbarer Wert

Ein Bitmuster zurück in eine Dezimalzahl umrechnen

Bei einer festgelegten Bitbreite zeigt das linke Bit an, ob die Zahl negativ ist: Beginnt das Muster mit 0, wird es wie eine gewöhnliche positive Binärzahl gelesen. Beginnt es mit 1, ist der Wert im Zweierkomplement negativ.

Eine Möglichkeit zur Berechnung ist, das Bitmuster zunächst als vorzeichenlose Zahl zu lesen und bei einem führenden 1 anschließend 2n abzuziehen. Dabei ist n die Bitbreite. Das Muster 11111011 hat vorzeichenlos den Wert 251. Mit 8 Bit ergibt sich 251 − 28 = 251 − 256 = −5.

Die Bitbreite verändert also das Ergebnis: 11111011 bedeutet als 8-Bit-Zweierkomplement −5. Wird dieselbe Folge dagegen links mit Nullen auf 16 Bit ergänzt, entsteht 0000000011111011 – das entspricht 251. Soll −5 auf 16 Bit erweitert werden, müssen links Einsen ergänzt werden.

Wertebereich und Überlauf

Mit n Bit reicht der Wertebereich im Zweierkomplement von −2n−1 bis 2n−1 − 1. Bei 8 Bit sind das −128 bis +127. Deshalb lässt sich +128 mit 8 Bit im Zweierkomplement nicht darstellen.

Das ist auch bei Additionen wichtig. Rechnerisch ergibt 127 + 1 = 128. In einer auf 8 Bit begrenzten Zweierkomplement-Rechnung entsteht jedoch 01111111 + 00000001 = 10000000. Dieses Bitmuster steht für −128: Es liegt ein Überlauf vor, nicht das korrekte 8-Bit-Ergebnis für +128.

Siehe auch  Gramm-ml-Rechner: Öl, Zucker und andere Zutaten umrechnen

Für eine verlässliche Umrechnung im Zweierkomplement-Rechner sollten daher immer sowohl der Zahlenwert beziehungsweise das Bitmuster als auch die gewünschte Bitbreite feststehen.