Digitaltechnik

Zweierkomplement

Der Computer kann Daten nur im Binärsystem, also nur mit Nullen und Einsen, verarbeiten. Das Problem auf das man schnell stößt sind die negative Zahlen, da es im Binärsystem kein Vorzeichen im herkömmlichen Sinne gibt. Abhilfe schafft hier das Zweierkomplement, das wir dir in diesem Video behandeln werden.

Wir haben zu diesem Thema auch ein Video  erstellt, damit du die Inhalte noch einfacher verstehen kannst. 

Inhaltsübersicht

Zweierkomplement einfach erklärt

Das Zweierkomplement ist eine Darstellungsform für binäre Zahlen, mit dem man positive und negative Zahlen abbildet. Es ist die am häufigsten verwendete Form in der Digitaltechnik, da damit direkte Rechenoperationen, wie Addition oder Multiplikation, ohne Umrechnungen möglich sind.

Zweierkomplementdarstellung

Im Binärsystem gibt es kein Vorzeichen so wie wir es kennen. Falls du nicht genau weist was das Binärsystem ist, schaue dir unbedingt unser Video zu Zahlensystemen an! Ein weiteres Beispiel, wie man einen Binärcode aufstellt, findest du auch in unserem Video zur Hamming-Distanz , welches du dir ebenfalls gerne ansehen kannst.

Um nun negative und positive Zahlen im Binärcode abzubilden, benutzt man ein Bit als Vorzeichen. Dabei gibt es verschiedene Varianten. Beim Least Significant Bit (LSB) Verfahren wird das Bit 0, also das am weitesten rechts stehende Bit, für das Vorzeichen genutzt. Damit kann man aber trotzdem nicht ohne weitere Umformungen rechnen. Deshalb wird im Zweierkomplement das Most Significant Bit (MSB), also das Bit welches am weitesten links steht, als Vorzeichenbit genutzt. Dabei steht eine 0 an der MSB-Stelle für positive Zahlen. Im Umkehrschluss dient dementsprechend eine 1 als negatives Vorzeichen.

Most Significant Bit Zweierkomplement Darstellung
direkt ins Video springen
Most Significant Bit

Im 2er Komplement kann man einen Wertebereich von

-2^{n-1}, ..., 0, ..., 2^{n-1} -1

darstellen. In dieser Formel steht n für die Anzahl der Bits. Für 4 Bits kannst du also die Zahlen

1000_2 = -8_{10} bis 0111_2 = 7_{10}

abbilden. Um Verwechslungen zu vermeiden zeigen die tiefgestellten Symbole an, welche Darstellungsform genutzt wird. Die Tiefgestellte 2 steht für das Binärsystem, und die tiefgestellte 10 für das Dezimalsystem.

Wie du diese Werte berechnen kannst, zeigen wir dir im nächsten Kapitel.

Zweierkomplement bilden

Eine Binärzahl wird ins 2er Komplement gewandelt, indem die einzelnen Bits erst invertiert und dann eine 1 hinzuaddiert wird. Schau dir folgendes Beispiel an. Du willst die Zahl -5 im Zweierkomplement darstellen. Als erstes wandelst du den Betrag der Zahl, in den Binärcode um

5_{10} = 0101_2.

Im nächsten Schritt invertierst du die einzelnen Stellen der Binären Zahl. Invertieren bedeutet, dass du jede 0 mit einer 1 und jede 1 mit einer 0 vertauscht. Für unsere Zahl folgt dementsprechend

0101_2 \Rightarrow 1010_2.

Zum Schluss muss noch eine 1 addiert werden

1010_2 + 0001_2 = 1011_2 = -5_{10},

und du hast erfolgreich das Zweierkomplement gebildet.

Zweierkomplement umwandeln

Vor der Umwandlung zum Dezimalsystem musst du zuerst das MSB ansehen. Ist diese eine 0, kannst du die Zahl direkt umrechnen. Ist das MSB jedoch eine 1 musst du den Binärcode invertieren, danach eine eins dazu addieren und zum Schluss erst ins Dezimalsystem umwandeln. Als Beispiel führen wir diese Überlegungen an 1011_2 durch. Du erkennst eine führende 1, weshalb du zuerst die einzelnen Bits invertierst

1011_2 = 0100_2,

und daraufhin eine 1 addierst.

0100_2 + 0001_2 = 0101_2 = 5_{10}.

Jetzt musst du dir das negative Vorzeichen noch dazu denken und du erhältst die anfangs gegebene -5. Die Umwandlung ins Dezimalsystem kannst du aber auch mit folgendem Trick schneller durchführen. Dazu rechnest du die Binärzahl wie gewohnt in das Dezimalsystem um, jedoch subtrahierst du das MSB, anstatt es zu addieren.

Du rechnest also

1011_2 = -8 \cdot 1 + 4 \cdot 0 + 2 \cdot 1 + 1 \cdot 1 = -5_{10}

und erhältst so auch die -5.

Zweierkomplement Addition

Wichtige Grundlagen zum Rechnen im Binärcode findest du in unserem Video zur Booleschen Algebra . Zur Addition zweier Binärzahlen kannst du die sogenannte Schulrechenmethode benutzen. Das bedeutet, dass du die zu addierenden Zahlen untereinander schreibst, und die Bits nacheinander zusammenzählst, angefangen beim LSB. Das erkennst du am besten an einem Beispiel. Dazu wollen wir die einfache Rechnung 5 + 1 = 6 im Binärcode durchführen. Dazu rechnest du erst beide Dezimalzahlen in binäre Zahlen um und addierst sie dann wie beschrieben.

Zweierkomplement - Addition berechnen
direkt ins Video springen
Zweierkomplement – Addition

Du siehst bei dieser Beispielrechnung, dass wenn man zwei Einsen in einer Spalte addiert eine 0 entsteht und eine 1 als Übertrag in die nächste Spalte wandert. Wandelst du zum Schluss das Ergebnis 0110_B in das Dezimalsystem erhältst du auch die zuvor genannte 6.

Zweierkomplement Subtraktion

Die Subtraktion basiert auf dem selben Prinzip wie die Addition. Willst du also 2 - 5 = -3 rechnen, musst du die Dezimalzahlen wieder in das Zweierkomplement umwandeln. Du kannst dir die Subtraktion wie 2 + (-5) vorstellen, also eine Addition mit einer negativen Zahl.

Zweierkomplement - Subtraktion berechnen
direkt ins Video springen
Zweierkomplement – Subtraktion

Führst du die Addition mit der Schulrechenmethode wieder durch, erhältst du als Ergebnis 1101_B. Wandelst du dieses in das Dezimalsystem um, findest du das Ergebnis -3_{10}.

Zweierkomplement Multiplikation

Die Multiplikation im Zweierkomplement wird durch Erweiterung, Verschiebung und Addition bewerkstelligt. Schauen wir uns dazu das Beispiel (-2) \cdot (-3) = 6. Zuerst bildest du wie gewohnt das Zweierkomplement. Danach führst du die Vorzeichenerweiterung durch. Du erweiterst die Binäre Zahl links vom MSB mit dem Wert des MSB so oft, bis sich die Bits insgesamt verdoppeln. Das verändert den Wert der Zahl nicht. Aus 1110_B wird also 1111 1110_B. Die Multiplikation funktioniert nun genauso wie die Multiplikation mit der Schulrechenmethode.

Zweierkomplement - Multiplikation berechnen
direkt ins Video springen
Zweierkomplement – Multiplikation

Als erstes multiplizierst du den ersten Faktor (1111 1110_2) mit dem rechten Bit vom zweiten Faktor (1111 1101_2), also mit 1. Das Zwischenergebnis schreibst du ohne Verschiebung darunter. Im nächsten Schritt multiplizierst du den ersten Faktor mit dem zweiten Bit von rechts vom zweiten Faktor, nun also mit 0. Das Ergebnis schreibst du jetzt um ein Bit nach links verschoben unter das erste Zwischenergebnis auf. Das führt man so lange durch, bis man den ersten Faktor letztendlich mit dem MSB multipliziert hat. Danach musst du alle Zwischenergebnisse addieren. Zum Schluss zählst du die Anzahl der Bits der Faktoren und alle Bits des Ergebnisses die über diese Anzahl gehen streichst du einfach. Somit erhältst du in unserem Beispiel das Ergebnis 0000 0110_2 = 6_{10}.

Zweierkomplement Rechnen

Zur Vertiefung kannst du dir folgende Beispielaufgabe anschauen. Rechne (0010_2 + 1101_2) \cdot 0010_2 binär aus und gebe das Ergebnis in Dezimalform an.

Zuerst addierst du die Binärzahlen in der Klammer zusammen und erhältst

0010_2 + 1101_2 = 1111_2.

Wenn du nun die Multiplikation durchführst bekommst du

1111 1111_2 \cdot 0000 0010_2 = 1111 1110_2 .

Diese Zahl kannst du in Dezimalform umwandeln und somit findest du das Ergebnis

 1111 1110_2 = -2_{10}.

Einerkomplement bilden

Das Einerkomplement ist ebenfalls eine Möglichkeit negative Ziffern darzustellen. Man bildet, es indem man die Bits einer Binärzahl negiert. Als Beispiel kannst du das Einerkomplement von -3 bilden. Dafür musst du zuerst den Betrag der Zahl in Binärcode umwandeln. Du erhältst also

3_{10} = 0011_B .

Im nächsten Schritt musst du nur noch alle Bits invertieren

0011_B \Rightarrow 1100_B = -3_{10}

und du erhältst das Einerkomplement der Zahl -3. Das MSB zeigt dir, genau wie beim Zweierkomplement wieder das Vorzeichen an. Eine 1 am MSB steht also ebenfalls für eine negative Zahl, eine 0 für eine positive.

Einerkomplement Zweierkomplement

Der Nachteil vom Einerkomplement ist, dass es in dieser Zahlendarstellung zwei Werte für die Null gibt, einmal 0000 und einmal 1111. Sozusagen eine positive und eine negative Null. Um dem entgegenzuwirken wird zum Einerkomplement eine Eins addiert. So entsteht, wie bereits behandelt, das Zweierkomplement. Der Vorteil vom 2er Komplement ist dementsprechend die Eindeutigkeit der Null.


Andere Nutzer halten diese Inhalte aus dem Bereich „Digitaltechnik“ für besonders klausurrelevant

Hallo, leider nutzt du einen AdBlocker.

Auf Studyflix bieten wir dir kostenlos hochwertige Bildung an. Dies können wir nur durch die Unterstützung unserer Werbepartner tun.

Schalte bitte deinen Adblocker für Studyflix aus oder füge uns zu deinen Ausnahmen hinzu. Das tut dir nicht weh und hilft uns weiter.

Danke!
Dein Studyflix-Team

Wenn du nicht weißt, wie du deinen Adblocker deaktivierst oder Studyflix zu den Ausnahmen hinzufügst, findest du hier eine kurze Anleitung. Bitte lade anschließend die Seite neu.