> 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 -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/