電子回路による乗算
Multiplication with electronic circuits

名古屋工業大学
先進セラミックス研究センター
井田 隆

名古屋工業大学 環境材料工学科 3 年次授業「マテリアルデザイン」の講義ノートです。

前へ 上へ 次へ


第1部 コンピュータの基礎
Fundamentals about Computer

第3章 算術演算
Arithmetic operation

3−3 電子回路による乗算
Subtraction with electronic circuits

日本の初等教育では,九九くくを使ってかけ算を計算する方法を学びます。 これは十進法じっしんほうで数を表すからで,数を二進法で表すことにすれば 0 × 0 = 0, 0 × 1 = 0, 1 × 0 = 0, 1 × 1 = 1 だけ憶えれば良いことになります。 後は「桁をずらす」ということと「和をとる」ということができればよいので, 電子回路を使って計算することは容易です。

九九を使わないかけ算の筆算のしかたがあります。 別名もあるようですが,「ロシア農民のかけ算」として知られている方法が有名です。

ロシア農民の乗算法を使って 19 × 25 という計算をしてみます。 図 3.5 を参照してください。 (1) はじめに 19 と 25 を横に並べて書きます。 (2) 次の行には 19 を 2 で割った数 9(あまりは無視する;以下同じ)と 25 に 2 をかけた数 50 を並べて書きます。 (3) その次の行には 9 を 2 で割った数 4 と 50 に 2 をかけた数 100 を書きます。 (4) ... (5) 同じ計算を左側の数が 1 になるまで繰り返します。 (6) 左側の数が 1 になったら,左側の数のうち奇数の右側に印をつけます。 (7) 最後に,印の右側の数だけを足し合わせればかけ算の答えになります。

(1) 19 25 (2) 19 25 9 50 (3) 19 25 9 50 4 100 (4) 19 25 9 50 4 100 2 200 (5) 19 25 9 50 4 100 2 200 1 400 (6) 19 25 9 50 4 100 2 200 1 400 (7) 25 + 50 400 + 475
図 3.5
「ロシア農民のかけ算」 “19 × 25” という計算の例。
(1) はじめに “19” と “25” を横に並べて書く。
(2) 次の行に“左側の数 19 を 2 で割った数 9”(あまりは無視する;以下同じ)と “右側の数 25 に 2 をかけた数 50” を並べて書く。
(3) 次の行に “9 を 2 で割った数 4” と “50 に 2 をかけた数 100” を書く。
(4) 次の行に “4 を 2 で割った数 2” と “100 に 2 をかけた数 200” を書く。
(5) 次の行に “2 を 2 で割った数 1” と “200 に 2 をかけた数 400” を書く。
(6) 左側の数が “1” になったら,左側の数のうち奇数の右側に印をつける。
(7) 最後に,印の右側の数だけを足し合わせればかけ算の答えになる。

ここで,19 を 2 で割った商が奇数かどうかを調べる操作は, 整数の二進法表記を下位ビットから順に求めていくことと同じです。 つまり,十進法での 19 は二進法では (10011)b となります。 また,このことは,19 = 24 + 21 + 20 と同じ意味です。 ロシア農民のかけ算では,下の式で表されるような方法で計算をしていると考えれば良いでしょう。

19 × 25 = (24 + 21 + 20) × 25

 

 = 24 × 25 + 21 × 25 + 20 × 25
 

 = 2 × 2 × 2 × 2 × 25 + 2 × 25 + 25
 

 = 400 + 50 + 25
 

 = 475
 

二進法のかけ算には,九九は必要ではありません。たとえば 19 × 25 の計算は, 19 = (10011)b, 25 = (11001)b から,

1 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 )

(111011011)b = 28 + 27 + 26 + 24 + 23 + 21 + 20 = 256 + 128 + 64 + 16 + 8 + 2 + 1 = 475 のようになります。 十進数表記と二進数表記との相互変換は面倒くさいかもしれませんが, 実際に筆算で二進数表記での乗算を試みれば, 二進数のままで良いのなら計算がむしろ簡単だということが実感できるでしょう。

実際のコンピュータでどのように乗算を実現するかにはいろいろなバリエーションが考えられます。 九九と同じように数表を使った計算方法が使われる場合もあるようです。 いずれにしても電子回路を使ってかけ算をすることができるわけです。


前へ 上へ 次へ

2005年9月6日公開
2013年4月30日更新