TOP


complement

10進数2進数1の補数2の補数
0000011110000
1000111101111
2001011011110
3001111001101
4010010111100
5010110101011
6011010011010
7011110001001

1's complement

1の補数
ビット反転で負数を表現
0100(4) -> 1011(-4)

2's complement

2の補数
1の補数に1を加えたものを負数とする
0100(4) -> 1100(-4)

2進数による加減乗除

加算

   0101     (5)
+) 0001     (1)
--------
   0110     (6)

減算

0101 (5)
  • ) 0001 (1)

----   ????
負数を2の補数表現としてから加算する
0101 (5)
  1. ) 1111 (-1)

----
1 0100 (4)
桁上がりは無視する

乗算

筆算する
0010 (2)

) 0011 (3)


----
0010 0010

----
0110 (6)

除算

桁を合わせながら除数と被除数を比較し、除数が被除数以下ならば商にビット1を立てるとともに被除数から除数を引く(2の補数を加算)
復元法 (Restoring method)
除数と被除数の大小関係を、減算を行って結果の符号で判定する
結果が正または0ならば、商にビット1を立てる
引き算の結果が負ならば、商にビット0を立て、除数を加え戻す。
非復元法 (Non-restoring method)
被除数から除数を引いた結果が負の場合に、除数の加え戻しを行わず、次は除数を半分にしたQ/2を被除数から引くのではなく加える。

管理人/副管理人のみ編集できます