Значение эпсилон в Python

Есть ли стандартное значение для эпсилон (или метод его получения) в Python? Мне нужно сравнить значения с плавающей запятой и я хочу сравнить с наименьшей возможной разницей.

В C++ есть функция numeric_limits::epsilon() , которая выдает значение эпсилон для любого заданного типа данных. Есть ли аналог в Python?

51
задан Marco Bonelli 17 April 2015 в 11:28
поделиться

1 ответ

Если Вы не можете найти, что функция делает это, помните, что алгоритм для вычисления точности машины очень легок (можно протестировать с любимым языком программирования).E.g, для Python:

eps = 1.0
while eps + 1 > 1:
    eps /= 2
eps *= 2
print("The machine precision is:", eps)

В моем случае, я добрался:

The machine precision is: 2.220446049250313e-16

2
ответ дан 7 November 2019 в 09:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: