2016-02-29 107 views
-2

我有两个不同的.cpp文件,两个相等的计算..但他们不会返回相同的结果吗?两个相等的计算没有返回相同的结果

A码

double theta = (double)maxLoc.y/angleBins*CV_PI; 
std::cout << theta << " " << abs(sin(theta)) << std::endl; 

甲结果

1.53589 0.999391 

B码

double theta = (double)maxLoc.y/angleBins * CV_PI; 
std::cout << theta << " " << abs(sin(theta)) << std::endl; 

乙结果

1.53589 0 
+2

这是不可能的。间距字面上没有区别(字面上!)。你一定在做别的事情。与往常一样,你现在应该知道这一点,你必须**发布[testcase](http://stackoverflow.com/help/mcve)**。 –

+0

'std :: abs'解决了它.... – clarkk

+0

无论如何,问题都被破坏了,必须修复或关闭。本网站上的每个问题都必须具有普遍的价值,不仅仅针对作者,而且也针对未来的访问者 –

回答

3

你”可能在第二个代码片段中调用C中的abs函数,该代码片段将int作为参数。在两个代码片段中使用std::abs(以及正确的标头#include<cmath>)将解决该问题。

+0

在这方面的“代码”是一个不可数名词;因此,“代码”在这里不正确。 –

+0

@PreferenceBean:我用'code snippets'替换了它。我希望这听起来更好:-) – davidhigh

+0

'std :: abs'解决了它..谢谢 – clarkk

相关问题