Dies ist eine alte Version des Dokuments!
1.1.2 Zahlenformate
Bisher können wir nur natürliche Zahlen im Computer darstellen. Wie sieht es aber nun mit Zahlen aus anderen Zahlbereichen aus?
Ganze Zahlen - Zweierkomplement
Exkurs - Schriftliche Addition von Dualzahlen:
Das schriftliche Addieren von Dualzahlen unterscheidet sich nicht wesentlich von der Durchführung des Verfahrens bei Dezimalzahlen. Der Unterschied besteht lediglich darin, dass sich bereits bei 2 ein Übertrag ergibt:
Beispiel 1
$6 + 5 = (110)_2 + (101)_2 = (1011)_2 =11$
$$ \begin{array}{lr} &110\\ +&101\\ \hline &\underline {\underline {1011}} \\ \end{array} $$ Beispiel 2
$27 + 34 = (11011)_2 + (100010)_2 = (111101)_2 =61$
$$ \begin{array}{lr} &11011\\ +&100010\\ \hline &\underline {\underline {111101}} \end{array} $$
Das Zweierkomplement ist eine Darstellungsmethode für ganze Zahlen in der binären Form. Es wird verwendet, um negative Zahlen in Computern darzustellen, insbesondere in der elektronischen Verarbeitung und Speicherung von Daten.
Die Darstellung von Zahlen im Zweierkomplement basiert auf der Idee, dass die höchstwertigste Bit (das am weitesten links stehende Bit) als Vorzeichenbit verwendet wird. Wenn das Vorzeichenbit 0 ist, wird die Zahl als positive Ganzzahl interpretiert. Ist das Vorzeichenbit jedoch 1, wird die Zahl als negative Ganzzahl interpretiert. Die restlichen Bits repräsentieren den Betrag der Zahl.
Für 8 Bit gilt der Wertebereich $−128 … +127$.
(Es gibt auch noch größere Wertebereiche für ganze Zahlen)
8-Bit-Darstellung einer (maximal 7-Stelligen) ganzen Zahl:
- Eine positive Zahl wird durch führende Nullen auf 8 Bit ausgefüllt. Die führende Null kennzeichnet das Vorzeichen +
- Bei einer negativen Zahl werden alle 8 Bits der entsprechenden positiven Zahl negiert (Einerkomplement). Anschließend wird 1 addiert (Zweierkomplement).
Beispiel 3 Gegeben ist die Zahl $80=(1001000)_2 $. Um die Zahl und ihre entgegengesetzte Zahl bei einer Wortbreite von 8 Bit zu bilden, führen wird die folgenden drei Schritte durch:
1. Ergänzen der Zahl durch führende Nullen auf 8 Stellen (Darstellung von 80 bei 8-Bit Wortbreite): $$0100 1000$$ 2. Das Einerkomplement bildet man, indem man alle Stellen der Zahl umkehrt, d.h. aus einer 0 wird eine 1 und aus einer 1 wird eine 0: $$\begin{array}{lr} \text{Zahl: } & 01001000\\ \text{Einerkomplement: }&10110111\\ \end{array}$$ 3. Zum Einerkomplement addiert man nun noch die Zahl 1 um das Zweierkomplement zu erhalten (Darstellung von -80 bei 8-Bit Wortbreite): $$ \begin{array}{rlr} \text{Einerkomplement: }&&10110111\\ &+&1\\ \text{Zweierkomplement: } &&\underline {\underline {10111000}} \end{array} $$ Wenn man nun zur Ausgangszahl das Zweierkomplement (80 + (-80) = 0) addiert, ergibt sich $2^8=256$, also die erste Zweierpotenz, die für die Wortbreite von 8 Bit zu groß ist. $$ \begin{array}{lr} &1001000\\ +&10111000\\ \hline &\underline {\underline {100000000}} \end{array} $$
Das erste Bit wird abgeschnitten und die 0 bleibt als korrektes Ergebnis übrig.
Die Subtraktion ganzer Zahlen im Computer lässt sich durch Addition der negativen Zahl (des Zweierkomplements) realisieren.
