3 回答

TA貢獻(xiàn)1934條經(jīng)驗 獲得超2個贊
1.你的理解是對的。
2.int(x)不一定是向下取整,int(-1.5)=-1,但是[-1.5]應(yīng)該等于-2,這才叫向下取整。
3.int(A1+1)這種形式是不對的。
4.很多語言里都有向下取整函數(shù)floor()和向上取整函數(shù)ceil(),如果是C語言的話要注意類型轉(zhuǎn)換,一下是函數(shù)原型:
#include <math.h>
double floor(double x);
double ceil(double x);
float floorf(float x);
float ceilf(float x);

TA貢獻(xiàn)1784條經(jīng)驗 獲得超8個贊
C語言有以下幾種取整方法:
1、直接賦值給整數(shù)變量。如:
int i = 2.5; 或 i = (int) 2.5;
這種方法采用的是舍去小數(shù)部分
2、C/C++中的整數(shù)除法運算符“/”本身就有取整功能(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。

TA貢獻(xiàn)1816條經(jīng)驗 獲得超6個贊
例
int i = 2.1; 或 i = (int) 2.1;
i= 2;
需要向上取整:
int i = (int)(2.1 + 0.9);
i= 3
int i = (int)(2.9 + 0.9);
i= 3;
需要四舍五入
int i = (int)(2.1 + 0.5);
i= 2;
int i = (int)(2.5 + 0.5);
i= 3;
如果負(fù)數(shù)用減法計算。
不知道我理解的對不對....
添加回答
舉報