Front page | perl.beginners |
Postings from September 2009
Re: decimal to binary?
Thread Previous
|
Thread Next
From:
Bryan R Harris
Date:
September 23, 2009 14:01
Subject:
Re: decimal to binary?
Message ID:
C6DFF6B0.3680F%Bryan_R_Harris@raytheon.com
> Bryan R Harris wrote:
>>
>> I need to convert a number like this: -3205.0569059
>> ... into an 8-byte double (big and little endian), e.g. 4f 3e 52 00 2a bc 93
>> d3 (I just made up those 8 byte values).
>>
>> Is this easy in perl? Are long and short ints easy as well?
>
> $ perl -le'print unpack "H*", pack "d", -3205.0569059'
> e626c5221d0aa9c0
Maybe this is just my own ignorance on big-endian vs. little endian, but
this code:
print "big-endian: ", unpack("H*", pack("d", -3205.0569059)), "\n";
print "little-endian: ", unpack("h*", pack("d", -3205.0569059)), "\n";
prints:
big-endian: e626c5221d0aa9c0
little-endian: 6e625c22d1a09a0c
... when I expected the little endian to look more like:
c0 a9 0a 1d 22 c5 26 e6 (spacing for readability)
Did I do it wrong (i.e. is "h*" the wrong string?), or am I confused on how
big vs. little endian works?
Thanks again for the help!! This list is terrific!
- Bryan
Thread Previous
|
Thread Next