C語言有以下幾種取整方法:
從事四川聯(lián)通機房服務器托管,服務器租用,云主機,網(wǎng)站空間,域名注冊,CDN,網(wǎng)絡代維等服務。
1、直接賦值給整數(shù)變量。如:
int i = 2.5; 或 i = (int) 2.5;
這種方法采用的是舍去小數(shù)部分
2、C/C++中的整數(shù)除法運算符“/”本身就有取整功能(int / int),但是整數(shù)除法對負數(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()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。
上取整,不管四舍五入的規(guī)則,只要后面有小數(shù)前面的整數(shù)就加1。下取整 ,不管四舍五入的規(guī)則,只要后面有小數(shù)忽略小數(shù)給定。比如:4.9,調(diào)用用向下取整函數(shù),得到的是4。調(diào)用用向上取整函數(shù),得到的是5。
向下取整的運算稱為Floor,用數(shù)學符號??表示,與之相對的,向上取整的運算稱為Ceiling,用數(shù)學符號??表示。
C語言定義的取整運算既不是Floor也不是Ceiling,無論操作數(shù)是正是負總是把小數(shù)部分截斷(Truncate),所以當操作數(shù)為正的時候相當于Floor,當操作符為負的時候相當于Ceiling。
擴展資料
取整函數(shù)不超過實數(shù)x的最大整數(shù)稱為x的整數(shù)部分,記作[x]或INT(x)。
和整數(shù)部分緊密相關(guān)的是其小數(shù)部分,記為{x},定義為{x} =x-[x]。由[x]+1x≥[x]不難得知1{x}≥0,反過來,若x=[x],自然有{x}=0。這些簡單的事實有時很有用處,對于給定的,要求出{x},先求出[x]就可以。
(需要注意的是,對于負數(shù),[x]并非指x小數(shù)點左邊的部分,{x}也并非指x小數(shù)點右邊的部分,例如對于負數(shù)-3.7,[-3.7]=-4,而不是-3,此時{x}=-3.7-(-4)=0.3,而不是-0.7。)
取整函數(shù)(高斯函數(shù))是一個不減函數(shù),即對任意x1,x2∈R,若x1≤x2,則[x1]≤[x2]。
向上向下
取整函數(shù)數(shù)只會對小數(shù)點后面的
數(shù)字不為零
的數(shù)進行操作,
要是給它一個整數(shù)
它就返回整數(shù)本身
對小數(shù)不為零的數(shù)操作:
給定
3.3
調(diào)用用向下取整函數(shù)
得到的是
3
調(diào)用用向上取整函數(shù)
得到的是
4
我覺得這個
實例最能體現(xiàn)函數(shù)的用處
理論的就不說了
但愿能看得懂吧~
其實你提的一排問題
書本上很容易找到答案的...