538>私の使ったVer.はgcc-3.1でした
でしたね、すいません。良く見てませんでした。
>MSだすさんのおっしゃるgcc-2.95.3-5
>するべきということですね。
gcc-3.1というのが(setup.exeで
インストールされる)Cygwinのgccなら、
それはそれで良いのかもしれません。
(setup.exeで、Expを選ぶと出てくるやつですね。)
ただ、gcc-2.95にしたほうが、余計な心配しなくて
済みます。
なお、"な"さんや、水口さんが指摘なさっているように
0.005を入力して
0.00 と出力されるということなら
それは、ある意味正常な反応です。
私のCygwin gcc 2.95.3-5で実行すると
0.0049 -> 0.00
0.005 -> 0.00
0.0050000001 -> 0.00
0.0050000002 -> 0.01
0.0051 -> 0.01
0.0052 -> 0.01
というふうに( これは5捨6入ではないよ;-) )。
また、
1.234999 -> 1.23
1.235 -> 1.24
となります。
計算機はご存知の通りすべてを2進数で処理します。
10進数で有限小数でも、2進数では、無限小数に
なることがあり、
それを有限2進小数に丸めて処理されるため
わずかな誤差が生じこのようなことが
起こります。
|