とらりもんHOME  Index  Search  Changes  Login

python入門: 計算誤差を体験しよう

計算機は, 情報をデジタルで扱うために, どこかで誤差が生じる。そのことを体験して理解しよう。

課題: pythonで以下の計算を行え(それぞれ0は15個):

1000000000000000.1-1000000000000000

答はぴったり0.1になるはずなのに... !? このような現象を, 「桁落ち」という。桁落ちについて, 検索などで原因を調べてみよ。

課題: pythonで, for文を使って, 0.000001を100万回, 足してみよ。1に等しくなるか?

課題: pythonで, for文を使って, 10000000000, つまり10^10に, 0.000001を100万回, 足してみよ。正しい値, つまり10000000001.0になるか?

課題: pythonで, for文を使って, 1000000000000, つまり10^12に, 0.000001を100万回, 足してみよ。正しい値, つまり1000000000001.0になるか?

これらのような困った現象を, 「精度落ち」という。精度落ちについて, 検索などで原因を調べてみよ。

課題: pythonで以下の計算を行え:

10.0**10
10.0**100
10.0**1000

この問は, 10.0の累乗を求めているが, 10.0の100乗は平気だけど, 10.0の1000乗はエラーが出るだろう。この現象を「オーバーフロー」という(調べてみよう!)。では, 10.0の何乗までならできるだろうか? 試してみよう!!

Last modified:2019/01/21 14:59:57
Keyword(s):
References: