如何計算兩個float
的除法餘數?浮動部門的剩餘部分
回答
a-floor(a/b)*b
- 假定a
和b
都是正值?
你可以說「餘數」對於浮動分類不是一個合適的概念,但我會留下你自己的判斷。
我一直在爲'99.6'和'0.2'獲得'0.2'的值 - 雖然它當然只是0因爲'996%2'爲0. –
使用fmod
,計算浮點模數。
double remainder = fmod(a_double, another_double);
如果你想使用的float
代替double
你會使用fmodf
代替。
'fmod(97.2,0.2)'返回0.2,這不是很有用。 –
@TomášZato問題在於,97.2和0.2都不能表示_exactly_作爲浮點數。請參閱[爲什麼浮點數不準確?](http://stackoverflow.com/questions/21895756/why-are-floating-point-numbers-incucurate)。在我的調試器中,我得到了'97.200000000000002'和'0.20000000000000001'作爲參數,結果爲'0.19999999999999746'。您可能需要一個定點數學庫來滿足您的需求。 – DarkDust
我想這也解釋了爲什麼'if(remaining == 0 || remainder == another_double)'也失敗了,因爲'0.19999999999999746'不等於'0.2'。我會比較數字之間的差異。 –
- 1. 爲什麼該部門返回錯誤的剩餘部分?
- 2. 在DB2中劃分剩餘的剩餘部分SQL
- 3. math.Mod in Go返回整數部分而不是浮點剩餘
- 4. Python大型浮動部門
- 5. 僅從使用PHP的分部獲得剩餘部分
- 6. 0打印剩餘部分時丟失
- 7. SQL - 剩餘部分/不屬於
- 8. 方案 - 對於剩餘部分
- 9. Windows Mobile 6在關閉後形成部分剩餘部分
- 10. 訪問pexpect的內部「倒數」剩餘部分?
- 11. CSS浮動剩餘邊緣自動div?
- 12. 計算一個浮點數的剩餘部分並使用javascript轉換?
- 13. OpenMP動態For循環塊剩餘部分
- 14. 剩餘中心浮動2格後
- 15. 分區,剩餘部分和唯一允許的實數
- 16. PHP部門返回浮動值
- 17. php函數將數組拆分爲3部分,但不包含剩餘部分
- 18. 裝配部門和浮點
- 19. 在nasm程序中分離剩餘部分
- 20. Terse的方式來獲得iterable的剩餘部分(如數組)
- 21. 刪除背景後的位圖中的剩餘部分
- 22. 如何讓頁面的下半部分佔用剩餘高度?
- 23. Eclipse Memory Analyzer主餅圖中的剩餘部分是什麼?
- 24. 絕對div填充窗口的剩餘部分
- 25. 使用FilterInputStream刪除InputStream的剩餘部分
- 26. argv從最後開始的剩餘部分
- 27. 尋找離開最小剩餘部分的最大號碼
- 28. 改變剩餘部分的顏色 - 引導
- 29. 確定項目顯示在網格中的剩餘部分 - PHP
- 30. 獲得序列的剩餘部分,但有零餘數的零元素
http://stackoverflow.com/questions/989943/weird-objective-c-mod-behavior – Chris