Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Integer overflow in Perl and C

by rob_au (Abbot)
on Jan 24, 2004 at 12:21 UTC ( #323822=note: print w/ replies, xml ) Need Help??

in reply to Integer overflow in Perl and C

3. Are there any other (neater) implementations of my script above

In terms of the original problem as presented, I believe that it an alternate approach employing the exponentiation operator/functions would be more efficient and side-step the format conversion problems.

In Perl:

perl -le 'print $_, ": 0 to ", 2**$_ - 1 for 0..32'
In C:
#include <stdio.h> #include <math.h> int main (void) { int i; for (i = 0; i <= 32; i++) printf("%d: 0 to %.f\n", i, pow(2, i) - 1); return(0); }
Both implementations are capable of outputting ranges of unsigned integer numbers for up to 64 bits (untested beyond).


perl -le "print unpack'N', pack'B32', '00000000000000000000001010110011'"

Comment on Re: Integer overflow in Perl and C
Select or Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2015-11-27 16:59 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (731 votes), past polls