Aufgabe A 3.10 (Lösung)

Aufgabe A 3.10 (Lösung)
Addition ganzer Zahlen in Zweierkomplementdarstellung mit n Bit, n = 8
• Das MSB wird als Vorzeichenbit verwendet (MSB=1 für negative Zahlen,
sonst MSB=0).
• Darstellbarer Bereich: − 2 n −1 bis 2 n −1 − 1 (also −128 bis 127)
Die Beträge der auftretenden negativen Summanden sind im Folgenden jeweils
oberhalb des Rechenschemas binär (8 Bit) dargestellt.
a)
Der Übertrag (im Bit links vom MSB) wird
0 001 0000
16
ignoriert.
0 010 0101
37
1 111 0000
−16
1 0 001 0101
21
b)
1
c)
d)
e)
1
f)
0 100 0000
0 100 0001
1 100 0000
1 011 1111
0 111 1111
64
65
−64
−65
Error
Überlauf da MSB = 1 im Ergebnis erwartet
wird. Ergebnis fehlerhaft. (Der Übertrag
(im Bit links vom MSB) wird ignoriert, ist
aber ohnehin bedeutungslos.)
0 011 0001
0 110 1001
1 001 1010
49
105
Error
Überlauf da MSB = 0 im Ergebnis erwartet
wird. Ergebnis fehlerhaft. (Die 8-stellige
Binärzahl hat zwar den richtigen Wert 154,
vereinbarungsgemäß ist aber das vordere
Bit das Vorzeichenbit.)
0 110 1001
0 011 0001
1 001 0111
1 100 1000
0 011 1000
105
49
−105
−56
56
0 010 0001
1 101 1111
0 100 0000
0 001 1111
33
− 33
64
31
0 100 0000
0 010 0001
1 100 0000
1 110 0001
64
33
−64
−31
31
0 001 1111
Ergebnis negativ ( −a), Übergang zum
Zweierkomplement liefert a = 56 (letzte Zeile),
also Ergebnis −56.
Andere Möglichkeit: Direkt in vorletzter Zeile
7
MSB mit Wertigkeit −2 zählen:
7
6
3
−2 + 2 + 2 = −56 .
Der Übertrag (im Bit links vom MSB) wird
ignoriert.
Ergebnis negativ ( −a), Übergang zum
Zweierkomplement liefert a = 31 (letzte Zeile),
also Ergebnis −31.
Andere Möglichkeit: Direkt in vorletzter Zeile
7
MSB mit Wertigkeit −2 zählen:
7
6
5
0
−2 + 2 + 2 + 2 = −31 .