Ergometer has asked for the wisdom of the Perl Monks concerning the following question:
Greetings monks, I'm trying to convert an unsigned long integer to a binary string of numbers. After searching through past posts I found that the following code should wor:
$bits= unpack( "b64", pack( "Q", 4294967295)):However this only works up to 2^(32)-1 and treats every number greater as 32 1's and the rest zeroes. This made me think I had 32 bit perl but I read I wouldn't be able to use Quad if I did. Any ideas as to what I am doing wrong or if there is another way to accomplish this. I have not had luck with sprintf either due to the same issue. (Not creating numbers greater than 2^(32)-1) Thanks for any help
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Convert unsigned long int (64bit) to binary string(64bits)
by hdb (Monsignor) on Dec 13, 2013 at 07:21 UTC | |
by salva (Canon) on Dec 13, 2013 at 08:20 UTC | |
by Anonymous Monk on Dec 13, 2013 at 15:34 UTC | |
|
Re: Convert unsigned long int (64bit) to binary string(64bits)
by taint (Chaplain) on Dec 13, 2013 at 07:39 UTC | |
|
Re: Convert unsigned long int (64bit) to binary string(64bits) (endianness? Convert::Binary::C)
by Anonymous Monk on Dec 13, 2013 at 07:50 UTC |