我想通過雙值除以一個整數,但我相信這是因爲預計其損失精度..採用雙分頻的整失去精度
#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相同的值。 我不明白我在做什麼
* 5465 /(5465/54.0)*等於* 54 *,所以我不明白爲什麼你會驚訝於你得到的結果。你會得到完全的預期結果。 – sth