#include "stdio.h"
int main(int argc, char **argv)
{
float a;
int b;
scanf("%d", &b);
a = b*2.54;
printf("%f\n", a);
return 0;
}
测试:
理论上的值应该为203.20,为什么变成了203.199997了呢?
这就牵扯到浮点型运算时精度的丢失问题
机器只能识别二进制,而整数永远可以用二进制精确表示,而小数有时是不能用二进制精确表示的,就像十进制无法精确表示1/3一样。