取整函数及其性质
取整函数及其性质
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\);
那么向上取整该如何表示呢,也就是说,向上取整能不能通过向下取整的方式来表达?
当然可以,下面是转换公式: