in reply to bizarre number encoding

That is double-precision IEEE floating point, with the bytes in backwards order.

If you are using a little-endian machine, use

my $n = unpack "d", pack "C*", @numbers;
to recover the numeric value of the representation. (On a big-endian machine, use reverse @numbers.)

Note that 64,8,0,0,0,0,0,0,0,240,63 is actually 1.00000000000047, not 1 exactly. You should double check and find out whether this extra .00000000000047 is really part of the number or not. It might be that the format is using four bytes for the numbers, with each one followed (or preceded) by another four bytes that mean something unrelated.

Hope this helps.

--
Mark Dominus
Perl Paraphernalia