制作日記

こういうの作った方が、逃げにくいじゃない

floatについて

C言語(C99のJIS規格)のお話、多分MUGENも同じ
MUGENは多分C89準拠だと思うけど、ここらへんの話はC99とC89で変わりはないと思う……

浮動小数点演算の正確度は不明、つまり計算結果が盛大にずれても問題ない

浮動小数点加算の丸め方もわからない
0方向とか、最も近い値とかの選択肢から選べるんだけど、そのうちの一つに不確定があるので……
ランダムで切り捨てたり四捨五入したりしても問題ないってことで良いんだよね?

ついでに、floatの演算してるからって、計算結果がfloatとは限らない
最終的にfloatにキャストされてるだけで、それまではdoubleとかlong doubleで計算されてるかもしれない

さらに計算順序とかも気を付けないと、桁落ち、情報落ちとかあるわけで……

つまり、浮動小数点数の演算結果は信用に値しない
有効桁数(floatなら6~7桁)以内なら問題ないってわけでもない
正確に計算したい桁数分は、ちゃんと10で乗じて整数で計算しましょう!

コメントの投稿

非公開コメント

プロフィール

Author:drab
霊夢改変キャラ
「12 3 ! {V} [_]」
公開中
L霊夢でもl_reimuでも好きなように読んでください

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク