1

Can anyone please clarify whether there is no maximum or minimum limit at all to the int and float datatypes in python 3? Also what is the use of fractions.Fraction and decimal.Decimal ?

2 Answers 2

2

In Python, value of an integer is not restricted by the number of bits and can expand to the limit of the available memory.

For float have a look at 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)

To answer the second part, please find the info in below links:

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

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

Sign up to request clarification or add additional context in comments.

Comments

1

There is no limit to int. You can get the limits to float from a system call

>>> 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 uses binary floats and you loose some precision converting between decimal and float. You also loose precision when dealing with fractions that are being estimated by floats. decimal does base 10 math, reducing that conversion problem at the cost of being slower. fractions tries to keep things as fractions to avoid that level of estimation.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.