我在C中尝试atan2
,参数大约为10 -14 。
它给出了一个错误的答案:大约90而不是零,例如:
void main()
{
double a =3.4e-14;
double b=9e-10;
atan2(3.4e14,9.0e-9); // returns ~90 instead of zero or Not a number
}
答案 0 :(得分:1)
您已在代码中定义了两个变量a
和b
,
但是你使用常量作为atan2
的参数。
a
和b
的值只会被忽略。
atan2(a, b);
正如您所料,将返回接近零的值。
atan2(3.4e-14,9.0e-9)
相同(注意e-14
,而不是e14
)。
答案 1 :(得分:0)
看起来你在3.4 * 10 ^ 14而不是3.14 * 10 ^( - 14)上调用atan2?