Existe-t-il une valeur standard pour (ou une méthode pour obtenir) epsilon en Python ? J'ai besoin de comparer des valeurs à virgule flottante et je veux comparer par rapport à la plus petite différence possible.
En C++, il y a une fonction fournie numeric_limits::epsilon( )
qui donne la valeur epsilon pour un type de données donné. Existe-t-il un équivalent en Python ?
8 votes
Lors de la comparaison de flottants, la magnitude des valeurs affecte l'epsilon.
1 votes
Considérez également que les erreurs de valeurs peuvent se propager entre les opérations. Le domaine "Analyse numérique" est consacré à l'étude de ce phénomène. Ce site Le site fournit également quelques bonnes règles à suivre.
0 votes
En guise d'exemple pour le commentaire des gens ci-dessus,
1e300-(1e300-1e200)
retourner0.0
où la différence réelle doit être de 10^200.