3 回答

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

TA貢獻1784條經驗 獲得超8個贊
C語言有以下幾種取整方法:
1、直接賦值給整數變量。如:
int i = 2.5; 或 i = (int) 2.5;
這種方法采用的是舍去小數部分
2、C/C++中的整數除法運算符“/”本身就有取整功能(int / int),但是整數除法對負數的取整結果和使用的C編譯器有關。
3、使用floor函數。floor(x)返回的是小于或等于x的最大整數。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函數。ceil(x)返回的是大于x的最小整數。如:
ceil(2.5) = 3
ceil(-2.5) = -2
floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。

TA貢獻1816條經驗 獲得超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;
如果負數用減法計算。
不知道我理解的對不對....
添加回答
舉報