2

数週間後に受ける試験に向けて改訂中です。回答した質問の例がありますが、それが正しいかどうかはわかりません。誰かが私の答えを確認し、間違っていた場合はivがどこで間違っていたかを説明してください。

ここに問題があります: 符号-絶対値表記の 2 つのバイナリ変数を考えてみましょう: A = 011111 と B = 000001. 関連するすべての手順を示して、バイナリ形式で次の操作を実行します (つまり、取得するためにバイナリから別の基数に変換しないでください)。結果)。答えに使用できるビットが 6 ビットしかないと仮定します。

AB 2 の補数を使用します。

ここに私の答えがあります: B B = 000001 反転で 2 の補数を使用し、1 を追加します。

 111110
+000001
 --------
 111111 

次に、A + 2 の補数 B

 011111
+111111
-------
 011110

最終回答: 011110

4

1 に答える 1

1

2 の補数を使用した減算 :-

減数の 2 の補数を被減数に加算することにより、バイナリ減算を実行できます。(a-bこの場合、被減数は a で、被減数は b です)

  1. 最後の桁上げが生成された場合、桁上げを破棄し、残りのビットが正である (被減数が減数よりも大きい) ことによって答えが得られます。

  2. 最後のキャリーが 0 の場合、答えは負で (被減数は減数よりも小さい)、2 の補数形式になります。

ここで、B の 2 の補数 = 111110 + 1 = 111111 です。

次に、B の A + 2 の補数 = 011111 + 111111 = 1011110 です。

ご覧のとおり、合計は 7 ビットになり、最終的なキャリーとして 1 があるため、ルール 1 に従って、キャリーを破棄する必要があります。

したがって、最終的な答え = 011110.

あなたの答えはこの答えと一致するため、あなたの答えは正しいです。

于 2015-09-02T14:03:35.640 に答える