[H8-ML(4671)] RE: [H8-ML(4652)] Re: これも訂正です( Re: H8/3052で浮動小数点演算がうまくできず困っています。)
From: "Shimozaki Kenichi" <shimozaki@xxxxxxxxxxxxxxx>
Date: 2004年04月13日(火)18時58分44秒
下崎です。


>という、浮動小数点の等号比較はfloatであろうがdoubleであろうがやめた方が
>良いと思います
>演算元の数値によって出たりでなかったりというやっかいなバグになります
>最終的には2進演算なので誤差が発生します。通常は無視できる誤差かもしれま
>せんが等号の演算の場合にはあくまで違う数値と見なされます
>if(a==0.1)
>としたいのであれば
>求める精度に応じて
>if(a>0.099 && a<0.101)
>などとした方が安全です


実数の分岐は等号より不等号を組み合わせた方が、
丸め誤差によって意図しない動作をする確率を減らすことができる、
ということだと思います。

可能な限り整数を使用して、実数ではアドバイスして頂いた方法で
対応していきたいと思います。ありがとうございました。


スレッド概略
[4619(R)](起点)
 └[4652(U)]
   └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]