[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#172562: libc6: hex floats negative exponent



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 to: