Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Arithmetic on numbers bigger than 1<<31

by flyingmoose (Priest)
on May 13, 2004 at 19:27 UTC ( #353187=note: print w/ replies, xml ) Need Help??


in reply to Arithmetic on numbers bigger than 1<<31

It can "do math" on it, presumably because the value just overflows... I doubt the value is correct.

Use should consider using BigInt/BigFloat for very large numbers, as if you get too many significant digits normal floating point math is going to lose accuracy...but of course there is a speed tradeoff.


Comment on Re: Arithmetic on numbers bigger than 1<<31
Replies are listed 'Best First'.
Re: Re: Arithmetic on numbers bigger than 1<<31
by thor (Priest) on May 13, 2004 at 20:29 UTC
    But that's the thing: it is doing at least some things correctly. I wanted to see what would happen with this code:
    perl -le 'print $i+=100_000_000 while 1'
    ...and it takes it like a champ, not reaching "Infinity" until something like 1e315. Also, this looks right, too:
    perl -le 'print (((1<<31)**(1<<5)), " ",((1<<31)**(1<<5)/2))'
    So, perl is somehow doing the arithmetic...maybe it's just lucky. :)

    thor

    p.s. This whole thing was more of a curiosity than anything. I've used Math::BigInt before. I was just perplexed by something that I would have expected not to work.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://353187]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2015-07-28 11:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (254 votes), past polls