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
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
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.
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.
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.