Python Forum
OverflowError: math range error - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: Data Science (https://python-forum.io/forum-44.html)
+--- Thread: OverflowError: math range error (/thread-11812.html)



OverflowError: math range error - Nick_helps - Jul-26-2018

Hi,
I am very new to Python, but have good php knowledge.
I need to save and print a big number. How can I do that?
Here is my code

import math
from decimal import Decimal
print(Decimal(math.pow(2, 1024)))
I m getting "OverflowError: math range error"
Thanks,
Nick


RE: OverflowError: math range error - Vysero - Jul-26-2018

709.78271 is the largest value I can compute the exp of on my machine, I think the numpy module has the ability to handle large numbers


RE: OverflowError: math range error - Nick_helps - Jul-26-2018

Got it.
Converted
math.pow(2, 1024)
to
2**1024
and it worked.

(Jul-26-2018, 08:51 PM)Vysero Wrote: 709.78271 is the largest value I can compute the exp of on my machine, I think the numpy module has the ability to handle large numbers

Thanks fro the reply. How can I go about it using numpy module. I searched, but only found examples related to arrays.


RE: OverflowError: math range error - casevh - Jul-27-2018

If you are working with integers, you'll find that Python includes arbitrary precision integers. You generally want to avoid working with floats (what the math module generally does.) The following are useful for working with integers:

>>> b=100
>>> a+b
12445
>>> a-b
12245
>>> a*b
1234500
>>> a/b   # Floating point division in Python 3; varies in Python 2
123.45
>>> a//b  # Integer division; in both Python 2 and 3
123
>>> a % b # Remainder
45
>>> divmod(a,b) # Returns both Integer division and Remainder
(123, 45)
>>> 2 ** 5 # Exponentiation
32
While numpy is useful for many purposes, working with large numbers isn't its strong suit. Depending on what you want to do, you may want to use mpmath or gmpy2.

Disclaimer: I maintain gmpy2 when I have time.


RE: OverflowError: math range error - wavic - Jul-29-2018

Python can work with arbitrary big numbers. I don't know how it's doing that but I have used it to work with integers with few million digits.
Try gmpy2 for faster processing.