我对 cmath/math.h 的标准 cos 函数有一个奇怪的问题。显然在某些情况下它返回一个错误的或根本未定义的值。
#include <cmath>
#include <iostream>
int main()
{
double foo = 8.0 * 0.19634955; // 1.5707964
double bla = std::cos(foo); // should be 0.9996242168245
std::cout << bla << std::endl; // cos returns -7.32051e-008
return 0;
}
例如,如果 cos 的输入值为 1.5707964,则 cos 返回 -7.32051e-008(使用双精度时,浮点数为 -4.XYZe-009)。
我在这里错过了一些非常基本和简单的东西吗......?