C語(yǔ)言中之?dāng)?shù)學(xué)函數(shù).
公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出海安免費(fèi)做網(wǎng)站回饋大家。
C語(yǔ)言提供了以下的數(shù)學(xué)函數(shù),要使用這些函數(shù)時(shí),在程式檔頭必須加入:.
#include
.
編譯時(shí),必須加上參數(shù)「-lm」(表示連結(jié)至數(shù)學(xué)函式庫(kù)),例如「gcc
#includestdio.h
#includemath.h
void main()
{
double a=2.8,b=0.2,c=0.0;
c=fmod(a,b);
printf("a=%.16lf,b=%.16lf,c=%.16lf\n",a,b,c);
getch();
}
輸出:
a=2.7999999999999998,b=0.2000000000000000,c=0.1999999999999997
明白了嗎?
% 取余數(shù)符號(hào)是運(yùn)算符, 是整數(shù)的運(yùn)算符號(hào), fmod 是 C++ 的重載函數(shù), 參數(shù)必須是 float, double 或者 long double
由于c中提供的取模(%)是用來(lái)求兩個(gè)整數(shù)相除的余數(shù),所以不存在一個(gè)整數(shù)使用%對(duì)浮點(diǎn)數(shù)取余數(shù),系統(tǒng)編譯不過(guò)。要計(jì)算一個(gè)整數(shù)對(duì)浮點(diǎn)數(shù)取余數(shù),可以使用fmod函數(shù),代碼如下,
#include
#include
//輸出4對(duì)0.3取余的結(jié)果
int
main(int
argc,
char
*argv[])
{
printf("%d\n",7%1/2);//由于%和/優(yōu)先級(jí)相同,從左向右執(zhí)行,7%1為0,0/2為0
printf("%lf\n",fmod(4,0.3));//輸出0.100000
return
0;
}
double
fmod(
double
x,
double
y
);函數(shù)返回參數(shù)x/y的余數(shù),需要添加math.h頭文件。