JavaScript 小数計算ツール

プログラムはなぜ小数の計算をミスるのか?

動画紹介

この動画は、「なぜプログラムで小数を計算すると、ときどき 0.4 ではなく 0.39999999999999997 のような値になるのか」を、やさしくたどっていく回です。 ただ「バグだから」で終わらせるのではなく、コンピュータが数をどう持っているかという 根本まで降りて説明するタイプの内容です。

目次を見ると、前半では「何かがおかしい計算式」や「Xでバズったおかしな電卓」を入口にしつつ、 中盤で「小数を2進数に直す」話へ進みます。ここがいちばん大事なポイントで、 人間にはきれいに見える 0.1 や 0.2 や 0.6 が、コンピュータの世界では 2進数でぴったり表せないことがある、という話につながります。

さらに後半では、「この電卓に正しい計算をさせるには?」という章があり、 ただ現象を説明するだけでなく、どう対処するのかまで視点が向いています。 つまりこの動画は、「なぜズレるのか」と「実務ではどう考えるか」を 一緒に見られる入門回としてかなり見やすい内容です。

このページの計算ツールで実際に数値を入れてみて、結果が赤になったときに この動画を見ると、「あ、そういう仕組みでズレていたのか」とつながりやすくなります。