2進数乗算計算機

2進数乗算計算機です。

計算結果

2進数乗算計算機:バイナリの掛け算をマスターしよう

2進数の掛け算(乗算)を瞬時に行う計算ツールです。2つの2進数を入力するだけで、その積(掛け算の結果)と、10進数換算値を表示します。コンピュータ内部で行われている計算の仕組みも学べます。

2進数の掛け算の手順

2進数の掛け算は、0と1しか出現しないため、実は10進数の九九よりもはるかに単純です。基本ルールは以下の通りです。

  • 0 × 0 = 0
  • 0 × 1 = 0
  • 1 × 0 = 0
  • 1 × 1 = 1

つまり、「1を掛けるときはそのまま」、「0を掛けるときは0」という単純なルールです。

筆算のやり方(例:101 × 11)

10進数で言うところの $5 \times 3 = 15$ を計算してみましょう。

    101 (被乗数)
×   11 (乗数)
-------
    101 (1を掛けた結果)
  101   (1を掛けて1桁ずらした結果)
-------
  1111 (足し算の結果)

結果は **1111** となり、これは10進数の **15** に等しいことがわかります。

コンピュータ内部での計算:シフトと加算

コンピュータの回路(ALU)では、この筆算の工程を「シフト演算」と「加算」の組み合わせとして処理しています。

  1. 乗数の最下位ビットが1なら、被乗数を結果に加える。
  2. 被乗数を左に1ビットシフト(2倍にする)。
  3. 乗数を右に1ビットシフト(次のビットを確認するため)。
  4. 乗数が0になるまで繰り返す。

このように、複雑な掛け算も、基本的な「ずらす(シフト)」と「足す(加算)」だけの単純作業に分解して高速に実行されています。

よくある質問

Q. 桁あふれ(オーバーフロー)とは?

計算結果が表現可能なビット数(桁数)を超えてしまうことです。例えば4ビット(最大15)のシステムで $1000 (8) \times 10 (2) = 10000 (16)$ を計算すると、最上位の1が消えてしまい、結果が0になってしまうことがあります。この計算機ではJavaScriptの安全な整数範囲で計算を行っています。