The bitwise construction of the floating-point numbers is a red herring.
This much simpler test yields the same result:

printf("%#.0g\n", 0.000956);
printf("%#.0g\n", 0.000098);

According to my understanding of the man page and the C99 spec, the
output should be:

0.001
0.0001

The Solaris printf() agrees with that, but the glibc 2.3.1 printf()
outputs:

0.0010
1.e-04

AMC


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to