Package: libc6
Version: 2.3.1-5

A program foo.c,

        #include <stdio.h>
        #include <stdlib.h>
        int
        main (void)
        {
          printf ("%f\n", strtod("0x10p-1",NULL));
        }

prints 1.0, where I expected it to print 8.0, since the exponent for a
hex float is a power of 2.

For what it's worth, this only seems to be a problem for small
negative exponents, when there's more mantissa digits than the
exponent value.  But obviously one failing case is better than any
amount of speculation :).


Reply via email to