Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

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


    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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://353187]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2017-05-24 10:34 GMT
Find Nodes?
    Voting Booth?