Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: long integer to hexadecimal conversion

by Joost (Canon)
on Oct 01, 2009 at 10:49 UTC ( #798603=note: print w/replies, xml ) Need Help??

in reply to long integer to hexadecimal conversion

bigint / Math::BigInt are core modules, and do what you want.

  • Comment on Re: long integer to hexadecimal conversion

Replies are listed 'Best First'.
Re^2: long integer to hexadecimal conversion
by kikuchiyo (Monk) on Oct 01, 2009 at 10:58 UTC
    I wanted to say the same thing, but I'm late, I guess:

    use bigint; my $n = 123456789123456; my ($h, $d); while ($n > 0) { $d = $n % 16; $n /= 16; $h .= sprintf "%x",$d; } print scalar reverse $h;

        You'd only need my algorithm if you wanted to express the integer in a base other than 16 (or 8).

        use bigint; my @digits=map chr,(0x30..0x39,0x41..0x5d); my $base = 22; my $n = 123456789123456; my $h; while($n > 0){ $h .= $digits[ $n % $base ]; $n /= $base; } print scalar reverse $h';
        Result is 4E5G93GHBE8.
        Super Duper Cool Thanks Joost
      couldn't have been easier than this. Thanks kikuchiyo, you saved my day

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2016-10-22 22:47 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (299 votes). Check out past polls.