当我存储12位小数的浮点值后高达6小数地方它是表示固定值。如果它是垃圾值那么它应该是为不同的编译器不同,但是当我看到的输出在我的书,几乎都尝试过,两者都是相同的结果。浮点值
#include <stdio.h>
int main(void)
{
float a = 1.234567890000;
printf("%.12f\n", a);
return 0;
}
OUTPUT:
1.234567880630 // In my book it also represents same output.
你的问题是什么?为什么你的输出与你的输入不符?因为你输入的是10进制数,但是计算机将它存储为2进制数,并且'float'中没有足够的分辨率来准确地获得所有12位小数。 – 2012-08-06 17:13:35
请注意,您从'double'文字开始,将其转换为'float'进行存储,然后将其转换回'double'进行打印。 – 2012-08-06 17:23:03