を私はあなたがダブルスのための等価性をチェックしたい場合はあなたが行うことを知っている:! return abs(a-b)<EPSILON
2倍が等しくないかどうかを尋ねる - = B
私の質問は:私が欲しいときEPSILONとその比較も必要とされていますa!=b
かどうか尋ねる?私たちは等価性をチェックしたいとき 私の直感は、(それらが等しい可能性があるため)そう言うが、私はウェブ上で見たものから、それはEPSILON
と1つの以上の質問で実装されていない、我々はEPSILON
を使用する理由は何ですダブルスやフロートで?
**あなたは**記事を読んでいませんでしたか?引用:「ちなみに、このような異常の解決策は、浮動小数点数を平等のために比較するのではなく、いくつかの誤差範囲E内にあればそれらを等しいとみなすことを考える人もいると思います。 ** Eの価値はどうあるべきですか?x < 0 and y > 0がEの範囲内にあれば、それらが異なる符号を持っていても、実際には等しいとみなされるべきですか?さらに、これによって定義される関係a〜b | a-b |
UncleBens
私は"浮動小数点数は正確ではありません "という言葉には同意しません。浮動小数点数**は**正確ですが、すべての実数を表すことはできません。 –
あなたは正しいです。私はそれを修正するだろう、オリ。 – duffymo