Через те, що дробові числа з плаваючою точкою зберігаються в двійковому вигляді,…

Через те, що дробові числа з плаваючою точкою зберігаються в двійковому вигляді,…


Через те, що дробові числа з плаваючою точкою зберігаються в двійковому вигляді, ми зазвичай працюємо з приблизними значеннями, як у першому варіанті в коді:

>>> format(0.1, '.17f')
'0.10000000000000001'
>>> from decimal import Decimal
>>> Decimal(1) / Decimal(3)
Decimal('0.3333333333333333333333333333')
>>> (Decimal(1) / Decimal(3)) * Decimal(3) == Decimal(1)
False
>>> from fractions import Fraction
>>> (Fraction(1) / Fraction(3)) * Fraction(3) == Fraction(1)
True

Для точніших результатів є клас Decimal, але і його іноді не вистачає. Тоді для ідеальних обчислень використовуємо клас Fraction, який працює з раціональними дробами.
#Decimal #Fraction // #practice // Python


View Source

Previous Article

Нові вакансії для тестувальниківManual QA в PayForce, $1500–1700Київ https://do...

Next Article

Новий крок у створенні ШІ-агентів на PythonHugging Face представила Smolagents —...

Write a Comment

Leave a Comment

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *