誰かが私の仕事を本当にすぐに再確認できるかどうか疑問に思っていました. -33 と -31 の 2 つの負の数が与えられた場合。それらを足し合わせると、2 の補数を使用した結果になります。
注: 操作には 6 ビットのワード長を使用する必要があります。
私の答え
これを行った後、-31 を 2 で 100001 と計算しました。また、-33 は 2 の補数で 011111 になるように計算しました。それらを合計すると 1000000 になりましたが、この数字は 7 桁なので、6 ビットの語長にバインドされているため、上位ビットを切り落としました。これにより、数値 000000 が得られます。これには符号ビット 0 が含まれており、偶数であることを意味します。ただし、2 つの負の値の合計は均等にならないため、明らかにオーバーフローです。したがって、000000 の 2 を取ります。これは単純に 000000 です。
バッファ オーバーフローが発生したため、答えは 0 になります。これは正しいと思いますか?ありがとう。:)