【语法】
向上取整:\lceil{x}\rceil
显示:\(\lceil{x}\rceil\)
向下取整:\lfloor{x}\rfloor
显示:\(\lfloor{x}\rfloor\)
【概念】
向上取整:比自己大的最小整数;
向下取整:比自己小的最大整数;
四舍五入:更接近自己的整数;
取整:只留下整数。
1. 正数取整:把小数点去掉。
2. 负数取整,是取不大于这个负数的最大整数。
向上取整和向下取整是针对有浮点数而言的;若整数向上取整和向下取整,都是整数本身。
向上取整(Ceiling):⌈ ⌉
不管四舍五入的规则,只要后面有小数前面的整数就加1。
\(\lceil{\frac{n}{m}}\rceil==\frac{n+(m-1)}{m}\)
之所以在向上取整时,分子部分要减去1,是为了避免出现,n 能被 m 整除的情况。
例如:
\(\lceil{\frac{12}{3}}\rceil==4\)
\(\lceil{\frac{12+3}{3}}\rceil==5\)
而对 4 向上取整应该仍为 4。
暂不明白。
向下取整(Floor):⌊ ⌋
不管四舍五入的规则,只要后面有小数忽略小数给定。
【案例】
4.9 向上取整得数是5。
4.9 向下取整得数是4。
\(\lfloor{\frac{59}{60}}\rfloor=0\)
\(\lceil{\frac{59}{60}}\rceil=1\)
\(\lfloor{-\frac{59}{60}}\rfloor=-1\)
\(\lceil{-\frac{59}{60}}\rceil=0\)
C语言定义的取整运算既不是Floor也不是Ceiling,无论操作数是正是负总是把小数部分截断(Truncate),所以当操作数为正的时候相当于Floor,当操作符为负的时候相当于Ceiling。
取整函数不超过实数x的最大整数称为x的整数部分,记作[x]或INT(x)。
和整数部分紧密相关的是其小数部分,记为{x},定义为{x} =x-[x]。由[x]+1>x≥[x]不难得知1>{x}≥0,反过来,若x=[x],自然有{x}=0。这些简单的事实有时很有用处,对于给定的,要求出{x},先求出[x]就可以。
(需要注意的是,对于负数,[x]并非指x小数点左边的部分,{x}也并非指x小数点右边的部分,例如对于负数-3.7,[-3.7]=-4,而不是-3,此时{x}=-3.7-(-4)=0.3,而不是-0.7。)
取整函数(高斯函数)是一个不减函数,即对任意x1,x2∈R,若x1≤x2,则[x1]≤[x2]。