浮動小数点

自分もint <-> double の暗黙の変換のあたりとかは結構初歩的なレベルではまるんだけど,浮動小数点演算ではまった話 - bkブログを見て,それが結構一般的な悩みなんだなあと思って少しうれしくなった.

ただ,これに関しては面白いしためになるのは認めるとしても,手段のためには目的を選ばずという感じがする.

根本的な問題として少しの計算量を惜しんで暗黙の型変換で切り捨てようとする貧乏臭さがトラブルを招いているわけで,それっぽい整数値が欲しいだけなら切り捨ては思いも寄らない結果を招く可能性があるから,四捨五入した方が安全.つまり,各言語のround関数を使うか,0.5を足して切り捨ててしまえばいいということを結論として導くべきだ.最初に100をかけた方が良いと言うのはひどくバッドノウハウ的だと思う.