[ 掲示板に戻る ]

記事No.79486に関するスレッドです

(No Subject) / ぼんじくん
前回下記の質問をした者です。

この問題をよろしくお願いいたします。単純な問題では無いと思います。私にはさっぱり分かりません。

2つの自然数xとyの乗算は「xをy回加算する」ことで可能です。 これに対して、yの2進数表示を利用して「「加算」する演算に加えて「2倍する」演算も用いることで少ない演算回数でxとyの乗算を計算する方法」を考えてください。

ヨッシーさんの仰った、コンピューター的計算方法について、発想も含めて教えて頂きたいです。

No.79483 - 2021/11/19(Fri) 17:49:01

Re: / 関数電卓
例えば 13×7 の計算は縦に書くと <図1> のようになりますが,これを2進数で行えば,<図2> のようになります。見ればお分かりのように 10 進数の乗算と特に変わったことをしているわけではありません。図中に書いたように,
 2進数を左に1桁ずらすことは ×2 に相当
するので,
 A×7=A×(4+2+1)
をしています。ですので,
> コンピューター的計算方法について、発想も含めて教えて頂きたい
については,上記の通りで,特記することはありません。
そして,前回のスレッドに書きましたように,コンピュータ内では,この「桁ずらし」を極めて短時間に行うことが出来るということです。

No.79486 - 2021/11/19(Fri) 21:50:50