c语言中的浮点数运算的疑问
#include <stdio.h>int main (void)
{
float f;
printf ("please input a float number: \n");
scanf ("%f",&f);
printf ("The input is %f or %e.\n",f,f);
return 0;
}
程序很简单,就是输入一个浮点数,再分别以小数和指数的形式输出来。但以小数输出来时,输出的值比原来的数大,结果如下:
C:\Dev-Cpp>082731104.exe
please input a floatnumber:
21.290000
The input is 21.290001 or 2.129000e+001.
请问这个是为什么呢?难道跟浮点数在计算机的存储方式有关系?