
如圖一個浮點數取余,一個整數取余。

可是在電腦自帶的科學計算器中的運算結果卻和上邊不太一樣。
x mod y ,x為正時正常,和代碼里一樣,x 為負時,卻不一樣。
-18mod5 = 2 ,似乎是-18/5 = -4 .......2 ,程式里的方法卻是 -18/5 = -3..-3
難道計算器里的mod不是求余,有別的意思?
望解答,謝謝。
uj5u.com熱心網友回復:
負數的有些區別,這個百度有uj5u.com熱心網友回復:
fmod() 用來對浮點數進行取模(求余),其原型為:double fmod (double x);
設回傳值為 ret,那么 x = n * y + ret,其中 n 是整數,ret 和 x 有相同的符號,而且 ret 的絕對值小于 y 的絕對值。如果 x = 0,那么 ret = NaN。
fmod 函式計算 x 除以 y 的 f 浮點余數,這樣 x = i*y + f,其中 i 是整數,f 和 x 有相同的符號,而且 f 的絕對值小于 y 的絕對值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/134409.html
標籤:C語言
下一篇:哪位高手能給出個模板
