使用 fmod 函数时,我得到了一些非常令人困惑的结果。
以下代码:
double x = pow(142, 35);
double y = fmod(x, 221);
std::cout << x << std::endl << y;
输出:
2.13842e+75
206
但是当对 x 值进行硬编码时:
double x = pow(142, 35);
double y = fmod(2.13842e+75, 221);
std::cout << x << std::endl << y;
输出变为:
2.13842e+75
14
我不知道这是什么原因,它在我的程序中产生了一些丑陋的错误。任何见解将不胜感激。提前致谢。