我想用GSL創建一個直方圖。當我嘗試添加分區1470/100的值時,出現問題。 結果爲14.69999999,當添加到直方圖時,它將被舍入到較低的bin。 我的問題是我如何使1470/100結果在14.7而不是14.69999? 謝謝C++舍入問題
編輯:
int minRange = 14;
double val;
val = minRange + j*0.05;
gsl_histogram_increment(hist, val);
當VAL被添加到它被認爲是代替14.65 14.7直方圖。 (在這種情況下,j是14)。
我加入1E-6爲val解決的問題。感謝您的幫助
http://floating-point-gui.de/ – JBL
也許我錯了這裏,但如果你想德智體直方圖點,你不能這樣做圓(數量* 100)/10.0?我們可以有代碼提取嗎?不確定您使用的數據類型。 –
僅供參考:IEEE 754浮點中的14.7表示形式:[32位浮點數](http://www.binaryconvert.com/result_float.html?decimal=049052046055)和[64位雙精度值](http ://www.binaryconvert.com/result_double.html?decimal = 049052046055) –