Digitaltechnik und Halbleiterschaltungsentwurf

Negative Ganzzahlen im Dualsystem WebApp

Zur Darstellung von negativen Integern im Binärsystem werden vor allem 3 Formate verwendet. Standard in Rechenwerken ist dabei das Zweierkomplement wegen der damit sehr einfachen Realisierung von arithmetischen Operationen. Weiters können aber auch mit Betrag und Vorzeichen oder im Einerkomplement dargestellt werden. Hier sollen diese Formate vorgestellt und verglichen werden. Hier gibt es allgemeine Informationen zur Zahlendarstellung und Zahlensystemen.

Betrag und Vorzeichen

Am einfachsten gelingt die Darstellung von negativen Ganzzahlen durch getrennte Behandlung von Betrag und Vorzeichen. Bei diesem Format bezeichnet die erste Stelle (das MSB - Most Significant Bit) das Vorzeichen. Alle nachfolgenden Stellen beschreiben den Betrag der Zahl. Der Betrag der Zahl \(x = \) beispielsweise wird zu 11011. (Wie geht das?) Dafür werden 5 benötigt. Zur Darstellung der negativen Zahl -27 wird das Vorzeichenbit vorne angehängt. Dabei steht 1 für ein negatives und 0 für ein positives Vorzeichen.

Somit ergibt sich:

2710=
0110112
(-27)10 =
1110112

Einerkomplement

Beim Einerkomplement wird wie bereits zuvor ein zusätzliches Bit benötigt. Hier sind jedoch Betrag und Vorzeichen nicht mehr unabhängig voneinander. Das MSB wird mit 0 ergänzt und im Falle einer negativen Zahl werden alle Ziffern invertiert. Wiederum kann damit das Vorzeichen an der ersten Stelle abgelesen werden. Die Bitfolge für den Betrag der Zahl \(x = \) mit rechts angehängter 0 lautet 011011. Bei einem negativen Vorzeichen werden nun alle Ziffern invertiert und

es ergibt sich:

2710 =
0110112
(-27)10 =
1001002

Zweierkomplement

Eine Problematik, welche das Einerkomplement mit sich bringt ist, dass der Wert 0 nicht eindeutig dargestellt werden kann. (0000 oder 1111) Dieses Problem löst das Zweierkomplement durch zusätzliche Addition eines LSB (Least Significant Bit) nach der Inversion aller Ziffern. Die Zahl \(x = \) lautet in Binärdarstellung 011011. Das Einerkomplement ist 100100 und zu diesem muss nun 1 LSB addiert werden. Nach Addition wird das Zweierkomplement

angeschrieben als:

2710 =
0110112
(-27)10 =
1001012

Vergleich der Formate

Alle der oben angeführten Formate können zur Darstellung von negativen Zahlen im Dualsystem verwendet werden. Die Zahl \(x=\) kann also wie folgt dargestellt werden.
Die Binärrepräsentation des Betrages von \(x\) ergibt sich zu 11011. Die positive Zahl wird in jedem Format durch von links Erweitern mit einer 0 als Vorzeichenbit. Eine negative Zahl kann unterschiedlich repräsentiert werden. In jedem Fall ist das MSB 1 gesetzt.
Positive Zahl

Der Betrag von \(x\) wird links um eine 0 erweitert.


2710 = 0110112
Betrag und Vorzeichen

Das Vorzeichenbit ist auf 1 gesetzt, die restlichen Ziffern, die den Betrag von \(x\) darstellen bleiben unverändert.


(-27)10 = 1110112
Einerkomplement

Alle Ziffern der um eine 0 erweiterten Zahl werden invertiert.


(-27)10 = 1001002
Zweierkomplement

Nach der Inversion aller Ziffern wird ein LSB addiert. (siehe hier)


(-27)10 = 1001012