2.3 KiB
取整函数及其性质
1、取整函数定义及分类
取整函数是一类将实数映射到相近的整数的函数。
常用的取整函数有两个,分别是下取整函数和上取整函数。
下取整函数在数学中一般记作\left \lfloor x \right \rfloor
,比自己小的最大整数,在计算机科学中一般记作floor(x)
;
上取整函数在数学中一般记作\left \lceil x \right \rceil
,比自己大的最小整数,在计算机科学中一般记作ceil(x)
。
2、性质:(仅列举计算机学习中经常用到的性质)
-
任意实数
x
,有:x−1<⌊x⌋≤x≤⌈x⌉<x+1
-
下取整函数为等幂运算:
\left \lfloor \left \lfloor x \right \rfloor \right \rfloor = \left \lfloor x \right \rfloor.
-
对任意的整数
k
和任意实数x
,\left \lfloor k+x \right \rfloor = k + \left \lfloor x \right \rfloor
-
一般的数值修约规则可以表述为将
x
映射到floor(x + 0.5)
。 -
\left \lceil x \right \rceil = - \left \lfloor -x \right \rfloor
-
对于整数
k
有:\left \lfloor k/2 \right \rfloor + \left \lceil k/2 \right \rceil = k
3、对数与取整函数的关系
二者关系为:
\left \lceil \log (x+1) \right \rceil = \left \lfloor \log x \right \rfloor +1, x\in Z, x\geqslant 1
证明:
令m = \left \lfloor \log x \right \rfloor
,
则 m \leq \log x < m+1
①
由式①可得
2^{m} \leq x < 2^{m+1}
②,
进而可得
2^{m} < x+1 \leq 2^{m+1}
因为 x\in Z
, 所以 m < \log (x+1) \leq m+1
.
所以 \left \lceil \log (x+1) \right \rceil = m+ 1= \left \lfloor \log x \right \rfloor + 1
.
4、向下取整与向上取整的转换方法
我们知道,一般在程序语言中,两个整数相除都是向下取整。例如,5/3=1,2/3=0
;
那么向上取整该如何表示呢,也就是说,向上取整能不能通过向下取整的方式来表达?
当然可以,下面是转换公式: