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]]