develooper Front page | perl.perl5.porters | Postings from October 2013

Re: [perl #120405] Wrong results for unpack "f"

Thread Previous | Thread Next
Lukas Mai
October 29, 2013 09:06
Re: [perl #120405] Wrong results for unpack "f"
Message ID:
On 29.10.2013 10:00, (via RT) wrote:
> # New Ticket Created by 
> # Please include the string:  [perl #120405]
> # in the subject line of all future correspondence about this issue. 
> # <URL: >
> The problem is described in the StackOverflow article

Short version (copied into this bug for easier access):

$ perl -e "print unpack('f>', pack ('f>', 279.117156982422));"

Definitely a bug in Perl's unpacking. It has difficulty in handling
floats in the binary form xxxxyyFF at least in a 32-bit platform, where
80 <= yy <= BF. The packed result will become xxxxzzFF, where zz = yy +
40 (all in hexadecimal). And this is not a problem of endianness, as you
could see here:

$ perl -e "print unpack('H8', pack ('f', unpack('f', pack('H8',

Lukas Mai <>

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About