C语言的浮点数问题~
以下是程序代码:
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
float f_number=123.1122334455667788f;
double d_number=123.1122334455667788;
printf("实数值 = 123.1122334455667788\n");
printf("----------------\n");
/*单精度浮点数*/
printf("单精度浮点数小数表示法= %f\n",f_number);
printf("单精度浮点数科学计数法= %e\n",f_number);
/*双精度浮点数*/
printf("双精度浮点数小数表示法= %f\n",d_number);
printf("双精度浮点数科学计数法= %e\n",d_number);
system("pause");
return 0;
}
我想知道为什么单精度浮点数小数表示法的输出结果是:
123.112236
这里的最后一位怎么是6呢?
即使四舍五入也不对啊?
哪位高手来解答一下?
[[italic] 本帖最后由 svjh 于 2008-1-26 21:59 编辑 [/italic]]








[/url]