Zum Inhalt springen

Zweierkomplement

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 15. August 2003 um 16:51 Uhr durch Pit (Diskussion | Beiträge) (ss->ß). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Das Zweierkomplement ist eine Möglichkeit, negative Zahlen im Binärsystem darzustellen. Dabei werden keine zusätzlichen Symbole wie + und - benötigt. Dies ist vor allem für Computer wichtig, deren Logik allein auf Bits ausgerichtet ist, das heißt Folgen von 0 und 1. Das Zweierkomplement ist die vorherrschende Art, wie negative ganze Zahlen im Computer dargestellt werden.

Da bei binären Codierungen von negativen Zahlen sowohl Vorzeichen als auch die eigentliche Zahl durch Bits dargestellt werden, ist es wichtig zu wissen, welches Bit wofür verwendet wird. Üblicherweise wird dies erreicht, indem sämtliche Zahlen eine konstante Stellenzahl haben und bei Bedarf mit führenden Nullen aufgefüllt werden. Die unten angeführten Beispiele verwenden je 7 Ziffern für die Codierung der Zahl und eine Ziffer für die Codierung des Vorzeichens.

Das Zweierkomplement benötigt wie das Einerkomplement keine Fallunterscheidung, ob mit negativen oder mit positiven Zahlen gerechnet wird. Das Problem des Einerkomplements, zwei Darstellungen für die Null zu haben tritt nicht auf. Positive Zahlen werden im Zweierkomplement mit einer führenden 0 versehen und ansonsten nicht verändert. Negative Zahlen werden mit einer führenden 1 dargestellt und wie folgt codiert: Sämtliche Ziffern der entsprechenden positiven Zahl werden negiert. Zum Ergebnis wird 1 addiert.

Beispiel:

  • +4(10) = 00000100
  • -4(10) = 11111011 + 1 = 11111100
  • -1(10) = 11111111
  • 127(10) = 01111111
  • -128(10) = 10000000

Durch die im Zweierkomplement verwendete Codierung wird erreicht, dass nur eine einzige Darstellung der Null existiert. Addition und Subtraktion benötigen keine Fallunterscheidung, es gibt nur eine Null, wenn man annimmt, dass Überläufe abgeschnitten werden

Beispiel: -4 + 3 = -1 führt zu 11111100 + 00000011 = 11111111; +4 - 4 = 0 führt zu 00000100 + 11111100 = 100000000 (9 Ziffern). Durch Abschneiden der 1 wird daraus 00000000

Siehe auch: Vorzeichenbit