C語言數(shù)學(xué)函數(shù)ceil(), floor(), round()
10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有濟(jì)寧免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
#include math.h
double ceil(double x);
double floor(double x);
double round(double x);
ceil(x)返回不小于x的最小整數(shù)值(然后轉(zhuǎn)換為double型)。
floor(x)返回不大于x的最大整數(shù)值。
round(x)返回x的四舍五入整數(shù)值。
首先得明確一點(diǎn):整數(shù)是實(shí)數(shù)的一個(gè)子集
在c語言中,double是實(shí)數(shù)類型,int是整數(shù)類型
關(guān)鍵的是他們的作用范圍不同
double能夠表示 [-10^308,10^308]
int只能表示[-2^31,2^31)
若返回值為int的話,可能會超出int的范圍。
C語言有以下幾種取整方法:
1、直接賦值給整數(shù)變量。如:
int
i
=
2.5;
或
i
=
(int)
2.5;
這種方法采用的是舍去小數(shù)部分
2、C/C++中的整數(shù)除法運(yùn)算符“/”本身就有取整功能(int
/
int),但是整數(shù)除法對負(fù)數(shù)的取整結(jié)果和使用的C編譯器有關(guān)。
3、使用floor函數(shù)。floor(x)返回的是小于或等于x的最大整數(shù)。如:
floor(2.5)
=
2
floor(-2.5)
=
-3
4、使用ceil函數(shù)。ceil(x)返回的是大于x的最小整數(shù)。如:
ceil(2.5)
=
3
ceil(-2.5)
=
-2
floor()是向負(fù)無窮大舍入,floor(-2.5)
=
-3;ceil()是向正無窮大舍入,ceil(-2.5)
=
-2。
這兩個(gè)函數(shù)在VC++中也能使用,但使用時(shí)需要包含math.h文件。要在程序的開始添加如下代碼:
#include
math.h
ceil()
這個(gè)函數(shù)是向上取整,我想不需要多解釋,c語言中.兩個(gè)int型的數(shù)相除的到數(shù),還是int型,若有小數(shù),直接舍去,例如:
17/4=4.25
但是c語言中會把0.25舍去.所以結(jié)果為4.
#include
#include
int
main()
{
int
x=17,n=4,a,b;
a=floor(x/n);
b=ceil(x/n);
printf
("x/n
is
%d\n",x/n);
printf("%d\n",a);
printf("%d\n",b);
return
0;
}