頭文件:#include <math.h>
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 的絕對值。
fmod()與求模運算符%的對比
1) % 運算符
% 只用於整型的計算,後一個數不能是0,參與運算的數據可正可負。
對於x%y ,計算以後結果的正負與 x 的符號相同,若是前者是較小的數,後者是較大的數,那麼,結果直接爲較小的數。例如:
10%3=1
3%10=3
10%-3=1
-3%10=-3
-10%-3=-1
-3%-10=-3
3%13=3
0%3=0
0%-3=0
3%0 (×)Error!
-3%0 (×)Error!
10.0%3.0 (×)Error! // 浮點型不能進行模運算
2) fmod()函數
fmod()函數能夠對浮點型數據進行取模運算,後一個數可爲0,這時函數返回NaN。
計算後結果的符號與前者(x)相同,若是前者是較小的數,後者是較大的數,那麼結果直接爲較小的數。
舉例以下:函數
【實例】代碼以下。spa
輸出結果:
fmod of 5.3 / 2 is 1.300000
fmod of 18.5 / 4.2 is 1.700000ip