我有这个非常简单的代码:
#include <cstdio>
#include <cmath>
int main(int argc, const char * argv[])
{
printf("%2.21f", atan2f(0.f, -1.f));
return 0;
}
英特尔 CPU 上的下一个输出:
Visual Studio 2010: 3.141592741012573200000
GCC 4.8.1 : 3.141592741012573242188
Xcode 5 : 3.141592502593994140625
在阅读了 atan2f 的 Apple 手册页后,我希望打印的值接近3.14159265359
,因为他们说他们会返回+pi
特殊值,比如我现在使用的值。如您所见,Xcode 返回的值和预期值之间的差异很大。
这是一个已知问题吗?如果是,是否有任何解决方法可以解决此问题?