0

我在 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
}
4

2 回答 2

1

您已经在代码中定义了两个变量ab但随后您使用常量作为atan2.

a和的值b被忽略。

atan2(a, b); 

如您所料,将返回接近零的值。

相同的atan2(3.4e-14,9.0e-9)(注意e-14,不是e14)。

于 2013-09-04T17:41:52.153 回答
0

看起来您在 3.4*10^14 上调用 atan2,而不是 3.14*10^(-14)?

于 2013-09-04T17:34:27.230 回答