2016-05-27 10 views
1

2つの補数バイナリ数のバイナリ減算で結果のオーバーフローに関する質問があります。添加を行ったバイナリサブトラクションでのオーバーフローの処理

12(2TC)= 00001100

-10(2TC)= 11110110

後、私はこの結果を有する:100000010 MSBは明らかオーバーフローであるが、それは正常ですか?私はそれを取り除くべきで、それゆえ8ビットだけを保つべきですか? 結果は00000010です。これは10進数で2であるため正しいです。

おかげで、

+0

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

答えて

0

答えはMSBが署名した表現を使用した場合の数が-veであるかどうかを伝えることで、右100000010.です。 だからログイン表現: - その目的のために使用される番号とMSBビット

+2 = 000000010

-2 = 100000010

あなたは+と区別する方法が必要です。

また、符号付き表現では、数値範囲は-2^8〜2^8です。 (範囲内の1を無視する)。 あなたの表現が署名されていない場合、範囲は 0-2^9になります。

+0

符号付きの表現では、範囲は実際には '-2^7-2^7-1'であり、符号なしは'-2^8-2^8-1'です。 – mbomb007

+0

@ mbomb007あなたが提供した範囲は、私たちが8ビットシステムの前提で働いているときの範囲です。しかし私の説明は、質問に使用された質問と数字を説明しようとしていました。これはnビットシステム – Ritesh

関連する問題