Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
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
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 chanting in the Monastery: (7)
As of 2014-07-14 07:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (256 votes), past polls