1月26日の業務報告

こんばんは、M1の岩井です。

本日はプログラミング演習IIの質問が1件ありました。
=======================
<プログラミング演習Ⅱ>
Q1:x(変数)に0.1ずつ足して繰り返し処理をしたいが、足し算の結果が思う通りにならない。
A1:簡単な繰り返しプログラムを書いて、0.1ずつ足していくときxの値が0.1, 0.2, 0.3…とならないことを確認し、どうすればよいか考えました。

回答 Q1:林
=======================

プログラミング豆知識のコーナー
『プログラムの中の少数』

プログラミングは少数を扱うのが苦手です。
少数で足し算や引き算をしようとすると、人間なら簡単にできるはずの0.1+0.2とかでも誤差を出してしまいます。
なんでかというと少数をビットで表したりするときにいろいろ難しいことがあって、難しくなるので気になる人は調べてみてください。
とにかく、「プログラムで少数を扱おうとすると誤差を出してしまう」ということだけは覚えておくといいです。

じゃあどうすればいいかっていうと
0.1+0.2をするのと、1+2したあと10で割るのとは計算結果は変わらないですよね。
「少数同士の足し算」は誤差を引き起こしてしまうので、それがないように計算式を書いてやればこの問題は解決です。
3を10で割る過程では誤差の起こりようがないので、
少数を使いたいときは整数を準備して、それから小数点の位置に合わせて10で割るようにするといいです。

~今日の豆知識まとめ~
・プログラムは少数を扱うのが苦手
・少数で足し算引き算をすると誤差がでることがある
・ギリギリまで整数にしといて、必要な場面でだけ10(10のn乗)で割ってうまいこと使おう

(文責:岩井)