2016-02-29 154 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

相關問題