Floor表示向下取整 Ceiling表示向上取整
/* 1、假设变量x和n是两个正整数,我们知道x/n这个表达式的结果要取Floor,
* 例如x是17,n是4,则结果是4。如果希望结果取Ceiling应该怎么写表达式呢?
* 例如x是17,n是4,则结果是5;x是16,n是4,则结果是4。
*/
向上取整算法:(x+n-1)/n
解析:(1)当x/n正好除尽时,(x+n-1)/n=x/n+(n-1)/n=x/n
(2)当x/n除不尽时,余数肯定大于1,所以(x+n-1)/n<=x/n+(1+n-1)=x/n+1;
摘自《Linux C一站式编程》书中问题