You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

取整函数及其性质

1、取整函数定义及分类

取整函数是一类将实数映射到相近的整数的函数。

常用的取整函数有两个,分别是下取整函数和上取整函数。

下取整函数在数学中一般记作\left \lfloor x \right \rfloor,比自己小的最大整数,在计算机科学中一般记作floor(x)

上取整函数在数学中一般记作\left \lceil x \right \rceil,比自己大的最小整数,在计算机科学中一般记作ceil(x)

2、性质(仅列举计算机学习中经常用到的性质)

  • 任意实数x,有: x1<⌊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

那么向上取整该如何表示呢,也就是说,向上取整能不能通过向下取整的方式来表达

当然可以,下面是转换公式: