[Tutor] Re: large number question

Roel Schroeven rschroev_nospam_ml at fastmail.fm
Sun Sep 26 15:01:06 CEST 2004

Andrei wrote:

> Dick Moores wrote on Sat, 25 Sep 2004 21:08:14 -0700:
>>I'm wondering if there's a way around the apparent limit on the size of 
>>integers. If I enter anything larger than about 4,610,000,000,000,000,000 
>>(4 quintillion, 610 quadrillion in American English), I get
>>"OverflowError: long int too large to convert to int"
> The nice thing is that Python shows you *exactly* where the error occurs in
> a traceback, but you didn't provide that information. I think the xrange
> function doesn't like very large integers. I don't know where the limit of
> 4.6e18 comes from though. For me it refuses to work from 2**31 onward
> (2.15e9), which is basically what you'd expect on a 32-bit system. 

That's easy: the 4.6e18 is not the input to xrange; xrange sees the 
square root of that (plus one to be precise), which happens to be 
relatively close to 2**31:

 >>> 4.6e18**.5 + 1
 >>> 2**31
 >>> (4.6e18**.5+1)/2**31

"Codito ergo sum"
Roel Schroeven

More information about the Tutor mailing list