Negative Binärzahlen subtrahieren?

1 Antwort

Zwei Antworten:

(1)

Umgerechnet ins Dezimalsystem

1001 0101 = -107

0010 1010 = 42

-107 - 42 = -149

Die kleinste negative 8-Bit-Zahl ist aber -128, also Bereichsüberschreitung.

(2)

Subtraktion durch Addition de Zweierkomplements

10010101 + 11010110

Der Übertrag von Bit 6 nach Bit 7 ist 0, der Übertrag von Bit 7 zum (nicht existierenden) Bit 8 ist 1.

Weil die beiden Überträge verschieden sind, hat man Bereichsüberschreitung.


isabelx927 
Beitragsersteller
 26.10.2022, 19:57

Aber das Ergebnis ist ja dann 01101011 und das wäre 107, was ja im Bereich von -128 bis 127 liegt.

0
tunik123  27.10.2022, 16:20
@isabelx927

Das ist kein Kriterium.

Jede beliebige 8-Bit-Zweierkomplemetzahl liegt in diesem Bereich.

Entscheidend sind die beiden Überträge. Die müssen beide 0 oder beide 1 sein.

0