int main()
{
float x=3.4e2;
printf("%f",x);
return 0;
}
输出:混乱浮点数
340.000000 // It's ok.
但如果写x=3.1234e2
输出312.339996
,如果x=3.12345678e2
输出312.345673
。
为什么这些输出是这样的?我想如果我写x=3.1234e2
输出应该是312.340000
,但实际输出是312.339996
使用GCC编译器。
看一看:http://docs.sun.com/source/806-3568/ncg_goldberg.html – Max 2010-10-01 13:47:51