浮動小数点数について等しいかどうかを調べる場合、普通に等値比較をおこなうのではなく、計算機イプシロンepsを使って「|x - y| / |x| < eps」とか「|x - y| / max(|x|, |y|) < eps」としなさい、という話を聞いたり読んだりしたことがある。でも何かおかしい気がする。それ以前に計算機イプシロンが何なのかもよくわからない。なので、そのことについてメモにまとめる。 浮動小数点数の等値判定の仕方 計算機イプシロンの定義 計算機イプシロンの定義:その1 計算機イプシロンの定義:その2 定義1と定義2の混同 (定義2の計算機イプシロンの意味) 浮動小数点数の等値判定に計算機イプシロンを(どう)使うべきか 浮動小数点数の等値判定はどのようにすべきか 浮動小数点数の等値判定の仕方 文章が長いので、浮動小数点数の等値判定の仕方を先に書いておく。 適当な定数Cを取って で等