studyklar
GdI 1 · Übungsblatt 1 · Aufgabe 3

A − B im 8-Bit-Zweierkomplement mit Overflow-Erkennung

Ein Computer hat kein eigenes Rechenwerk für Minus. Er rechnet A − B als A + (−B). Hier machen wir das mit 8-Bit-Zweierkomplementzahlen Bit für Bit nach und prüfen, ob das Ergebnis in 8 Bit passt. Links steht der ganze Lösungsweg, rechts die Rechnung zum aktuellen Schritt. Mit Weiter geht es Schritt für Schritt voran.

Die Aufgabe

Aufgabe 1.3

Betrachtet werde ein 8-Bit-Computer. Gegeben sind die beiden Zweierkomplementzahlen A=111100012A = 11110001_2 und B=001101012B = 00110101_2. Führen Sie – wie der Computer – die Subtraktion A – B durch Rechnung im Dualsystem sowie die Overflow-Erkennung aus!

Rechnung: ____

Overflow? ☐ ja ☐ nein

Erläuterung: ____

A und B sind 8-Bit-Zweierkomplementzahlen. Gesucht ist die Bitfolge von A − B, so wie der Computer sie berechnet. Dazu die Antwort, ob ein Overflow auftritt, also ob das richtige Ergebnis gar nicht in 8 Bit passt, mit Begründung.

Merke: Subtraktion ist Addition des Negativen: A − B = A + (−B). −B entsteht durch Zweierkomplementbildung: invertieren, dann 1 addieren.
  1. Die Subtraktion in eine Addition umschreiben.
  2. −B bilden: B invertieren, 1 addieren.
  3. A + (−B) schriftlich addieren, 8 Bit behalten.
  4. Overflow an den Vorzeichenbits prüfen.
  5. Zur Kontrolle alles ins Dezimalsystem umrechnen.

Subtraktion als Addition

Umschreiben
A−B=A+(−B)A - B = A + (-B)

Der Computer hat nur ein Addierwerk. Darum ersetzt er „minus B“ durch „plus (−B)“. Das Ergebnis ist dasselbe, wie 7 − 3 = 7 + (−3).

Aus Skript 1, Folie 1-25 („Rechnen mit n-stelligen Zweierkomplementzahlen“): Subtraktion: A – B = A + (–B), zurückgeführt auf Addition; kein eigenständiges Subtraktionswerk.

B bitweise invertieren

Einerkomplement von B
B=00110101  →invertieren  11001010B = 00110101 \;\xrightarrow{\text{invertieren}}\; 11001010

−B bekommt man mit der Zweierkomplementbildung. Ihr erster Teil: jedes Bit von B umdrehen, aus 0 wird 1 und aus 1 wird 0. Das Ergebnis heißt Einerkomplement.

Aus Skript 1, Folie 1-21 („Zweierkomplement“): Zweierkomplementbildung: bitweise invertieren (Einerkomplement), dann 1 addieren. Sie macht aus einer Zahl ihr Negatives.
Noch 6 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1

76543210B00110101
invertiert????????+ 100000001=????????
A11110001+ (−B)????????=????????
Legendegerade gemeintOben B, in der Mitte −B, unten A + (−B). „?“ steht für Bits, die erst ein späterer Schritt bestimmt. Die Zahlen über B sind die Stellen 7 bis 0.