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 (足し算の結果)
× 11 (乗数)
-------
101 (1を掛けた結果)
101 (1を掛けて1桁ずらした結果)
-------
1111 (足し算の結果)
結果は **1111** となり、これは10進数の **15** に等しいことがわかります。
コンピュータ内部での計算:シフトと加算
コンピュータの回路(ALU)では、この筆算の工程を「シフト演算」と「加算」の組み合わせとして処理しています。
- 乗数の最下位ビットが1なら、被乗数を結果に加える。
- 被乗数を左に1ビットシフト(2倍にする)。
- 乗数を右に1ビットシフト(次のビットを確認するため)。
- 乗数が0になるまで繰り返す。
このように、複雑な掛け算も、基本的な「ずらす(シフト)」と「足す(加算)」だけの単純作業に分解して高速に実行されています。
よくある質問
Q. 桁あふれ(オーバーフロー)とは?
計算結果が表現可能なビット数(桁数)を超えてしまうことです。例えば4ビット(最大15)のシステムで $1000 (8) \times 10 (2) = 10000 (16)$ を計算すると、最上位の1が消えてしまい、結果が0になってしまうことがあります。この計算機ではJavaScriptの安全な整数範囲で計算を行っています。