2016-05-27 6 views
1

Ich habe eine Frage in Bezug auf den Überlauf eines Ergebnisses in einem binären Subtraktion zweier ergänzt Binärzahlen.Was mit dem Überlauf in eine binäre Subtraktion zu tun

12 (2 TC) = 00001100

-10 (2 TC) = 11110110

Nach der Zugabe durchgeführt zu haben, habe ich dieses Ergebnis: 100000010 Das MSB ist offensichtlich ein Überlauf, aber es ist normal? Soll ich es loswerden und deshalb nur die 8 anderen Bits behalten? Das Ergebnis wäre: 00000010 was korrekt ist, weil es 2 in Dezimalbasis ist.

Danke,

+0

https://courses.cs.vt.edu/csonline/NumberSystems/Lessons/SubtractionWithTwosComplement/index.html – mbomb007

Antwort

0

Die Antwort ist richtig 100000010. Der MSB ist zu sagen, ob die Zahl -ve ist oder nicht, wenn die signierte Darstellung verwendet wird. So angemeldet Darstellung:

+2 = 000000010

-2 = 100000010

Sie müssen einen Weg zwischen + unterscheiden und - Anzahl und MSB-Bit wird für diesen Zweck verwendet.

Auch in der unterzeichneten Darstellung ist der Nummernbereich -2^8 bis 2^8. (Ignorieren von 1en in den Bereichen). Aber wenn Ihre Darstellung unsigniert hätte, würde Ihr Bereich 0-2^9 haben.

+0

In der vorzeichenbehafteten Darstellung ist der Bereich tatsächlich '-2^7 - 2^7-1', und unsigned ist '-2^8 - 2^8-1'. – mbomb007

+0

@ mbomb007 die Bereiche Sie Bereiche vorgesehen sind, wenn wir unter der Annahme von 8-Bit-System arbeiten. Aber Meine Erklärung versucht, die Frage und die Zahlen in der Frage verwendet, zu erklären. Weil das alles für ein n-Bit-System gilt – Ritesh