Что определяет точность с плавающей запятой в python?

Я узнал об операторе "точно равно" в Erlang, который не сравнивает только значения , но также типы данных чисел, и мне было любопытно, как все работает в Python и его единственном операторе «равно». Итак, убедившись, что

>>> 1 == 1.0 
True

я задумался о точности с плавающей запятой, и дошел до этого

>>> 0.9999999999999999 == 1
False
>>> 0.99999999999999999 == 1
True
>>>

Может кто-нибудь объяснить, как здесь определяется точность с плавающей запятой? Он работает одинаково как в 2.7.1, так и в 3.1. 2

5
задан dariopy 2 March 2011 в 08:05
поделиться