C/C++ 如何向上取整?
清泛原创
一般地,向上取整有两种方法:
注意:ceil函数参数是double类型。同理,double向下取整使用floor函数(整数直接除就ok)。
#include <math.h>
int _tmain(int argc, _TCHAR* argv[])
{
int a = 6, b = 5;
//ceil函数
printf("%d\n", (int)ceil((double)a / (double)b));
//补整方法
printf("%d\n", (a + b-1) / b);
return 0;
}
运行结果:注意:ceil函数参数是double类型。同理,double向下取整使用floor函数(整数直接除就ok)。
使用floor函数。floor(x)返回的是小于或等于x的最大整数。
如: floor(10.5) == 10 floor(-10.5) == -11
使用ceil函数。ceil(x)返回的是大于x的最小整数。
如: ceil(10.5) == 11 ceil(-10.5) ==-10
floor()是向负无穷大舍入,floor(-10.5) == -11
ceil()是向正无穷大舍入,ceil(-10.5) == -10
上一篇:进程间通信(IPC)的几种方式
下一篇:[完整源码实例] 修改 CListCtrl 的标题栏字体颜色;重绘 CListCtrl 标题栏