我试图将一个整数除以一个双精度值,但我相信它会失去精度..
#include <cmath>
#include <cstdio>
int main()
{
double t=5465/54.0;
double t1=(double)5465/(double)(t);
double t3 = 5465.0/101.203;
printf("%lf %lf %lf\n",t,t1,t3);
return 0;
}
对于上面的代码值,t3 = 54.0003
正如预期的那样,但对于 t1,它变成54
而不是获得与 t3 相同的值。我不明白我在做什么错