Perl Monk, Perl Meditation PerlMonks

### Re^2: long integer to hexadecimal conversion

by kikuchiyo (Hermit)
 on Oct 01, 2009 at 10:58 UTC Need Help??

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;

Replies are listed 'Best First'.
Re^3: long integer to hexadecimal conversion
by Joost (Canon) on Oct 01, 2009 at 12:38 UTC
Much simpler:
```use bigint;
my \$n = 123456789123456;
print \$n->as_hex;
or just
```use bigint;
print 123456789123456->as_hex
True.

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
Re^3: long integer to hexadecimal conversion
by perl_fan (Novice) on Oct 05, 2009 at 07:29 UTC
couldn't have been easier than this. Thanks kikuchiyo, you saved my day

Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://798604]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2024-04-21 15:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?

No recent polls found