Python Диапазон типов данных Int и Float - PullRequest
1 голос
/ 27 мая 2020

Кто-нибудь может прояснить, нет ли вообще максимального или минимального предела для типов данных int и float в python 3? Также в чем польза от дробей.Дробь и десятичная.Десятичная дробь?

Ответы [ 2 ]

1 голос
/ 27 мая 2020

В Python значение целого числа не ограничено количеством битов и может расширяться до предела доступной памяти.

Для float посмотрите sys.float_info :

>>> import sys
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2
250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsil
on=2.2204460492503131e-16, radix=2, rounds=1)

Чтобы ответить на вторую часть, пожалуйста, найдите информацию по ссылкам ниже:

https://docs.python.org/3/library/fractions.html

https://docs.python.org/2/library/decimal.html

1 голос
/ 27 мая 2020

Нет ограничений на int. Вы можете получить ограничения для числа с плавающей запятой из системного вызова.

>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)

Python использует двоичные числа с плавающей запятой, и вы теряете некоторую точность преобразования между десятичным и десятичным числами. Вы также теряете точность при работе с дробями, вычисляемыми с помощью чисел с плавающей запятой. decimal использует математику с основанием 10, уменьшая проблему преобразования за счет более медленной работы. Fractions пытается сохранить вещи как дроби, чтобы избежать такого уровня оценки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...