らうんじ PapparaSoft

ソフトのご質問、ご要望、不具合報告、その他の話題などどうぞ。

計算結果不具合(報告)

たかむら 2020/07/23 08:47
過去報告あったような気もするのですが、小数点を含む計算結果にズレが出ます。
以下幾つか事例添付しておきます。

10/20=0.5
12/20=0.59999999999999998
18/20=0.90000000000000002
↑割り切れるはずなのに割れない

2*0.7=1.3999999999999999
20*0.7=14
↑条件は同じはずなのに1桁違うだけで結果が違う

1/3=0.33333333333333331
↑末尾が3ではなく1
Redman 2020/07/24 22:45 (Res.1)
提示の内容は、コンピューターが内部的に二進数を使用しているために生じる誤差(打ち切り誤差)によるものです。

10進数だと割り切れても、二進数で表現すると循環小数になってしまうケースがあり、それを有限桁で打ち切る必要があるため、このような結果になります。

20桁程度で正しい値のようですし、通常コンピューターに実装されている小数点計算の性能ならば、ソフト・ハードともに正しく動作していると言って良いものだと思います。








【返信】
投稿の際はヘルプをお読みください。
お名前
Mail
URL
メッセージ