76

Pythonでイプシロンの標準値(または取得方法)はありますか? 浮動小数点値を比較する必要があり、可能な限り小さい差と比較したい。

C++ にnumeric_limits::epsilon( )は、任意のデータ型のイプシロン値を与える関数が用意されています。Pythonに同等のものはありますか?

4

4 に答える 4

139

この情報はsys.float_info、C99 の float.h に対応する にあります。

>>> import sys
>>> sys.float_info.epsilon
2.220446049250313e-16
于 2012-03-02T05:32:47.830 に答える
35

strcat が投稿したように、ありますsys.float_info.epsilon

ただし、浮動小数点比較の絶対誤差マージンとして使用することの落とし穴を忘れないでください。たとえば、大きな数の場合、丸め誤差がイプシロンを超える可能性があります。

復習が必要な場合は、David Goldberg のWhat Every Computer Scientist Should Know About Floating-Point Arithmeticを参照するか、より簡単な復習としてThe Floating Point Guideを参照してください。

于 2012-03-02T05:51:21.603 に答える