0.1×100が10にならない!? プログラムはなぜ間違える『プログラムはなぜ動くのか 第3版』より

計算なら“正確無比な”コンピューターに任せておけばOK!と考えている人は多いでしょう。人工知能(AI)による画像判定といったむずかしそうな処理はともかく、計算処理を間違えるはずはない、と思うのも当然かもしれません。なにせコンピューターは「電子計算機」という意味なのですから。

残念ながらコンピューターは、「0.1×100」といった単純計算ですら、間違えてしまうのです。そのワケを矢沢久雄『プログラムはなぜ動くのか 第3版』(日経BP)から、担当編集者がご紹介します。

◇   ◇   ◇

「0.1×100」はいくつになるか、分かりますか。失礼しました、バカにするなと怒られてしまいますね。もちろん、答えは「10」です。

それでは、さっそく、コンピューターに計算してもらいましょう。その実行結果を以下に示します。

「0.1×100」の実行結果(『プログラムはなぜ動くのか 第3版』56ページより)

なんと、答えは「10.000002」と表示されています。どうでしょう、こんなに堂々と間違えられてしまうと、計算に自信のない私は、「あれ、10が間違いで、正解は10.000002なのかな」とつい考え込んでしまいそうです。

この実行結果を見て、「プログラムが間違っているんじゃないの」と思われた人もいるかもしれません。先に示した実行結果は、「list3_1.exe」というプログラムを実行すると、「10.000002」という答えが得られたというものです。たしかに、プログラム「list3_1.exe」が間違っている可能性はあります。

次のページ
プログラムが間違っている?
ビジネス書などの書評を紹介