2つの補数バイナリ数のバイナリ減算で結果のオーバーフローに関する質問があります。添加を行ったバイナリサブトラクションでのオーバーフローの処理
12(2TC)= 00001100
-10(2TC)= 11110110
後、私はこの結果を有する:100000010 MSBは明らかオーバーフローであるが、それは正常ですか?私はそれを取り除くべきで、それゆえ8ビットだけを保つべきですか? 結果は00000010です。これは10進数で2であるため正しいです。
おかげで、
2つの補数バイナリ数のバイナリ減算で結果のオーバーフローに関する質問があります。添加を行ったバイナリサブトラクションでのオーバーフローの処理
12(2TC)= 00001100
-10(2TC)= 11110110
後、私はこの結果を有する:100000010 MSBは明らかオーバーフローであるが、それは正常ですか?私はそれを取り除くべきで、それゆえ8ビットだけを保つべきですか? 結果は00000010です。これは10進数で2であるため正しいです。
おかげで、
答えはMSBが署名した表現を使用した場合の数が-veであるかどうかを伝えることで、右100000010.です。 だからログイン表現: - その目的のために使用される番号とMSBビット
+2 = 000000010
-2 = 100000010
あなたは+と区別する方法が必要です。
また、符号付き表現では、数値範囲は-2^8〜2^8です。 (範囲内の1を無視する)。 あなたの表現が署名されていない場合、範囲は 0-2^9になります。
https://courses.cs.vt.edu/csonline/NumberSystems/Lessons/SubtractionWithTwosComplement/index.html – mbomb007