The stupid question is the question not asked PerlMonks

### Re: long integer to hexadecimal conversion

by Joost (Canon)
 on Oct 01, 2009 at 10:49 UTC Need Help??

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 (Hermit) 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;
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
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://798603]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2024-02-24 15:50 GMT
Voting Booth?
My favourite way to spend a leap day ...

Results (22 votes). Check out past polls.