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 undes 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 Zweierkomplementangeschrieben 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.
2710 = 0110112
(-27)10 = 1110112
(-27)10 = 1001002
(-27)10 = 1001012
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