BOOKPYTHON Telegram 3473
Нативные значения float в Python используют аппаратные возможности вашего компьютера, поэтому любое значение внутренне представлено в виде двоичной дроби.

Это означает, что в большинстве случаев вы работаете с приближениями, а не с точными значениями:


In : format(0.1, '.17f')
Out: '0.10000000000000001'


Модуль decimal позволяет использовать десятичную арифметику с произвольной точностью:


In : Decimal(1) / Decimal(3)
Out: Decimal('0.3333333333333333333333333333')


Однако и этого может быть недостаточно:


In [61]: Decimal(1) / Decimal(3) * Decimal(3) == Decimal(1)
Out[61]: False


Для точных вычислений можно использовать fractions, где любое число хранится в виде рационального:


In : Fraction(1) / Fraction(3) * Fraction(3) == Fraction(1)
Out: True


Очевидным ограничением остается то, что иррациональные числа (например, π) все равно будут представлены только в приближенной форме.

👉@BookPython
👍7



tgoop.com/BookPython/3473
Create:
Last Update:

Нативные значения float в Python используют аппаратные возможности вашего компьютера, поэтому любое значение внутренне представлено в виде двоичной дроби.

Это означает, что в большинстве случаев вы работаете с приближениями, а не с точными значениями:


In : format(0.1, '.17f')
Out: '0.10000000000000001'


Модуль decimal позволяет использовать десятичную арифметику с произвольной точностью:


In : Decimal(1) / Decimal(3)
Out: Decimal('0.3333333333333333333333333333')


Однако и этого может быть недостаточно:


In [61]: Decimal(1) / Decimal(3) * Decimal(3) == Decimal(1)
Out[61]: False


Для точных вычислений можно использовать fractions, где любое число хранится в виде рационального:


In : Fraction(1) / Fraction(3) * Fraction(3) == Fraction(1)
Out: True


Очевидным ограничением остается то, что иррациональные числа (например, π) все равно будут представлены только в приближенной форме.

👉@BookPython

BY Библиотека Python разработчика | Книги по питону


Share with your friend now:
tgoop.com/BookPython/3473

View MORE
Open in Telegram


Telegram News

Date: |

SUCK Channel Telegram Concise Some Telegram Channels content management tips Informative How to create a business channel on Telegram? (Tutorial)
from us


Telegram Библиотека Python разработчика | Книги по питону
FROM American