04. Rechnen im Dualsystem
Addition
Rechnung | Ergebnis | Übertrag |
---|---|---|
Problem: Addiert man zwei Binärzahlen miteinander und entsteht ein Übertrag, dann wird das sogenannte Carry-Bit gesetzt.
Ist das Carry-Bit , dann ist das Ergebnis korrekt, ist es gibt es einen
Overflow/Überlauf.
Das Ergebnis sollte geprüft werden, falls das Carry-Bit gesetzt ist.
Mögliche Lösungsansätze für das Behandeln eines Überlaufes:
- Programm wird unterbrochen mit einer Fehlermeldung
- Datentyp zur Konstruktionszeit ändern
- Ignorieren und verwerfen (schlecht!)
Subtraktion
Rechnung | Ergebnis | Übertrag (Entleihung) |
---|---|---|
Negative Zahlen im Dualsystem
In bisherigen Betrachtungen wurden immer nur positive Ganzzahlen betrachtet. Somit ist der Wertebereich einer -stelligen Dualzahl bis . Möchte man negative Zahlen darstellen, muss man somit die negativen Zahlen mit in einer -stelligen Dualzahl darstellen verschiebt sich der Wertebereich. Je nach Darstellungsform wechselt die Anzahl der darstellbaren Zahlen im positiven und negativen Bereich. Untenstehend ist ein Zahlenkreis mit einem Beispiel einer möglichen Darstellungsform zu sehen.
Einerkomplement
Das Einerkomplement benutzt das Most-Significant-Bit (MSB) als Indikator dafür, ob eine Zahl positiv oder negativ ist. Um eine negative Zahl zu errechnen, muss die positive Zahl im Dualsystem invertiert werden. Aufgrund dieser Darstellungsform gibt es zwei Repräsentationsformen, weshalb es ungeeignet ist für die Benutzung im Computer und für mathematisch korrekte Berechnungen.
Dualzahl mit MSB+ | Dezimalwert | Dualzahl mit MSB- | Dezimalwert |
---|---|---|---|
$$0000$ | |||
$$0001$ | |||
$$0010$ | |||
$$0011$ | |||
$$0100$ | |||
$$0101$ | |||
$$0110$ | |||
$$0111$ |
Zweierkomplement
Das Zweierkomplement entsteht aus dem Einerkomplement und benutzt somit ebenfalls das Einerkomplement. Um zum Zweierkomplement zu gelangen muss jedoch die Zahl zur negativen Zahl hinzuaddiert werden. Hiermit wird das Problem der doppelten Null gelöst und es ist im negativen Wertebereich eine Zahl mehr möglich zu speichern.
Dualzahl mit MSB+ | Dezimalwert | Rechnung | Dualzahl mit MSB- | Dezimalwert |
---|---|---|---|---|