2014-03-12 60 views
0

我有一個C++分類賬應用程序,其中浮點用於計算,現在應該怎麼做才能轉換爲定點arthimatic(相當高達4小時過去小數點),而不會產生更多的錯誤在節目中。我應該採取什麼步驟明智的過程或提示以防止錯誤?請建議一些測試情況下,這將是有益的C++會計應用程序浮點數到定點

+2

創建一套單元測試來覆蓋應用程序中的所有當前計算將是一個好的開始。在這種情況下,能夠輕鬆地在固定點和浮點之間進行交換將是一件好事,因此您可以輕鬆地比較結果。 –

回答

1
  1. 介紹相關計算中使用一種類型的Currency(如果尚未完成)
  2. 確保所有相關的號碼存儲爲Currency,而不是double,或float
  3. 用定點實型定義Currency。您可以使用現有的實施,如CodeF00's numeric::Fixed。另請參閱What's the best way to do fixed-point math?
+0

請推薦測試和技巧以避免性能問題。:) – user3172833

+0

我看了你的參考資料,很抱歉很天真,但它說根據你的體系結構(比特尺寸),你可以輸入固定類。例如typedef固定<16,16>固定。 它會影響我是否將數據轉移到不同的體系結構。任何保持統一的方法。 – user3172833

+0

測試提示是非常特定於應用程序的。對於你的情況沒有任何信息,不能說任何不明顯的東西。關於你的第二個評論 - 不要猶豫,使用問號。 – Mikhail