誰しも、すごいおもちゃを手に入れたときに、無意味に弄り回してしまった思い出があるだろう。
最近だと、スマホを入手して一日中いじっている人は多い。
必要でいじっている(もしくは、全く無駄な行為を続けている)場合には、日がたってもいじる頻度は変わらない。
でも、最初の環境設定とかにこだわっていたなら、やがて落ち着いていじらなくなる。
子供がおもちゃを入手したときも同じ。
最初は意味もなく持ち歩いたり、ベッドの中にまで持って入ったりする。
でも、そのうち「本来の」遊びかたしかしなくなり、やがてはそれすらも飽きる。
うちの長男が、掛け算に興味を持った。
小学校2年生で掛け算を習うのは、夏休み明けの2学期から。
しかし、興味を持って複数桁同士の掛け算を筆算でやる方法まで覚えてしまった。
(まだうっかりミスで間違えることも多いけど、方法としてはちゃんと習得している)
これが、長男にとっては面白いらしい。
無意味に2桁かける3桁程度の問題を作り出しては、解き続けている。
で、数問終了すると、「丸付けしてー」と持ってくる。自分ではあっているか判断できないのだ。
あっていれば喜ぶし、間違いがあれば悔しがる。どっちにしろ、また続ける。
どんな分野でも、専門家が自分の道具のことを「武器」と呼ぶことがある。
難敵に挑むために、使いこなした、勝手のわかった武器を持つことは重要だ。
そして、数学者は数式や、数の特性についての知識を「武器」とする。
…と聞いたことがあるので(僕は数学者じゃないから実際のところは知らない)、算数ページでも「武器」という言葉を使ったりした。
ただ、自分の感覚としては、武器と呼べるのは、多少高度な数学知識のことだった。
でも、今の長男を見ていると、足し算引き算しか知らなかった子供には、掛け算も使っていて楽しい「武器」なのだなぁ、と思う。
長男は、しばらく前に「割り算も教えて」と言ってきた。
割り算は掛け算よりずっと難しいから、まだ教えない、と言ったのだが、一週間くらい毎日「教えて」と言い続けてきた。
根負けして教えてあげた。単純に割り算のやり方を教えるだけではなく、「なぜ難しいと言ったか」が理解できるように説明した。
長男は、掛け算も出来ないうちには無理だ、ということは理解できたようだ。
と同時に、割り算の深遠な世界を覗いて、恐れながらも面白がっていた。
大人にとっては、四則演算は基礎のようなものだ。
割り算は「掛け算の反対の操作」だと言う程度に了解している。
でも、割り算は、本当はもっと深遠なものだ。
掛け算は有限回の操作で終了することがわかっているし、この操作回数を計算前に見積もることも出来る。
しかし、割り算は何回の操作で終わるのか見積もれないし、場合によっては無限に終了しない。
たとえは唐突だが、CPU MC68000 では、16bit 足し算命令は 4クロックで終了した。
16bit 掛け算は 70クロック以下で、非常に時間がかかった。
これが、割り算になると 158クロック以下、となる。割り算がいかに「大変な処理」かがわかるだろう。
たとえば、SH2 はすべての命令を 1クロックでこなした。足し算はもちろん 1クロックだし、掛け算すら 1クロックだ。
(実際には3クロックだが、パイプラインがあるので1クロックごとに1命令が終了する。
ちなみに、実は掛け算は2~4クロック必要だが、実行中 CPU の他の動作が停止するため、見た目上1クロックになっている)
そんな SH2 でも、割り算は 1クロックでは完了しない。割り算に関しては「1ステップ分の実行」命令しかなく、これを「割り算終了」を示すフラグを見ながら繰り返す必要があった。
MC68000 も SH2 も、今となっては「昔の CPU」だ。
でも、今の CPU でもそれほど事情は変わっていない。
つまり、割り算と言うのは、電子計算機にとっても簡単なものではないのだ。
何でそんなに難しいのか、というのは、書くと長いから書かない。
興味を持った人は、自分でいろいろ考えてみると面白いんじゃないかな。
「0除算例外」や「丸め誤差」というのは一つの手がかりだと思う。
掛け算にはそうした厄介なものはないのに、なぜ割り算にはあるのかね。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |