在程序設計競賽,浮點運算相關的問題說:「錯誤是答案必須小於1E-6」或「答案一定是高達6位小數正確的」。這是否意味着我可以不用擔心精度執行上FP變量計算,僅在打印的同時,我應該寫這樣如何處理浮點運算精度用C
printf("%.6lf",a);
我是否理解正確嗎?上面的兩個引號是否意味着同樣的事情? 在其中一個問題中,當我使用雙數組並執行一些計算並打印了一個數組元素時。它印上「-0.000000」。這是什麼意思? 但是,當我使用的載體在C++等
vector<double> arr(10,0.0);
相同的計算印刷 「0.000000」。爲什麼會有這樣的差異?
保持精度儘可能你必須優化您的計算(例如不具有非常不同的指數值加號,不乘過小或大的數字。在一起,而不是乘少數大的,如果可能的話,排序細分所以子結果的絕對值大約是1.0 ..等等) – Spektre 2013-08-20 13:19:15