1

だから私は自分のバイナリ減算を練習していました。私の最初の試験から長い時間が経ちました、そして私は私自身のトリッキーなバイナリ減算を作成することに決めました、そして私はこれを思いつきました:

 1100
-1101

もちろん、「借用のトリック」はこの問題には機能しません。少なくとも私はそれを機能させることができませんでした。2番目の2進数(一番下の1つ)のビットを反転してから、基本的に2の補数を実行するビットを追加して1101が0011になるようにする唯一の選択肢です。次に、1次2進数(1100)に2の補数表現(0011)を追加します。これは次のようになることを意味します:

    1100 (-4) assume 2's complement
+   0011 (3)  assume 2's complement

sum:1111 (-1) assume 2's complement

バイナリ減算を行ってから久しぶりなので、この問題の確認が必要です。

4

1 に答える 1

3
 1100
-1101

0 - 1 = 1(借りる1)

 1100
-1101
   1
=====
    1

0 - 0 - 1 = 1(借りる1)

 1100
-1101
  11
=====
   11

1 - 1 - 1 = 1(借りる1)

 1100
-1101
 111
=====
  111

1 - 1 - 1 = 1(借りる1)

 1100
-1101
1111
=====
 1111

結果は11111借りで。符号なし演算に関しては、これは結果がアンダーフローしたか、次の有効桁から借用する必要があることを意味します。(符号付き算術に関しては、2 番目のビットも借用し、計算が に対応するため、オーバーフローはありません-4 - -3 = -1。)

于 2012-11-22T21:56:30.210 に答える