2の補数の掛け算

補数の掛け算が成り立つため、2の補数の掛け算も成り立ちます。

以下では、符号ビット付き2進数の掛け算の例を示します。

2の補数×通常の2進数

例えば、ー2×3=ー6を符号ビット付き2進数を使って計算してみます。

まず、-2と3は、4ビットの符号ビット付き2進数では、それぞれ1110と0011と表せます。

複数桁の2進数の掛け算より、以下のように手計算できます。

     1110
   × 0011
   ------
+    1110  (1110×1の結果)
+   1110   (1110×1の結果)
+  0000    (1110×0の結果)
+ 0000     (1110×0の結果)
---------
  0101010  (上記の4つの結果の足し算)

有効なのは4ビットなので、答えは、1010(10進数で-6)になります。

2の補数×2の補数

例えば、ー2×ー3=6を符号ビット付き2進数を使って計算してみます。

まず、-2と-3は、4ビットの符号ビット付き2進数では、それぞれ1110と1101と表せます。

複数桁の2進数の掛け算より、以下のように手計算できます。

     1110
   × 1101
   ------
+    1110  (1110×1の結果)
+   0000   (1110×0の結果)
+  1110    (1110×1の結果)
+ 1110     (1110×1の結果)
---------
 10110110  (上記の4つの結果の足し算)

有効なのは4ビットなので、答えは、0110(10進数で6)になります。

符号ビット付き2進数の掛け算の答えの範囲

4ビットの符号ビット付き2進数の値の範囲は、10進数でー8~7です。

よって、4ビットの符号ビット付き2進数同士の掛け算の答えの範囲は、ー56~64が理想ですが、上記の方法では、ー8~7です。

つまり、上記の方法では、符号ビット付き2進数同士の掛け算の答えのすべてを表現できません。