向上取整与向下取整函数

向上取整/向下取整函数返回向上/向下最近的整数。(也称上取整/下取整函数)

例子:2.31 向上取整和向下取整是多少?

向下取整与向上取整函数

2.31 向下取整是 2
2.31 向上取整是 3

整数的向下取整与向上取整函数

一个整数的向下取整值和向上取整值是多少?

很容易:没改变!

例子:5 向上取整和向下取整是多少?

5 向下取整是 5
5 向上取整是 5

这是一些例子:

x 下取整 上取整
−1.1 −2 −1
0 0 0
1.01 1 2
2.9 2 3
3 3 3

符号

向下取整和向上取整的符号像方括号 [ ]但没有上面或下面的部分:

向下取整和向上取整函数

我喜欢用英语单词:floor(x) 和 ceil(x)

定义

正式定义是什么?

例子:2.31 向下取整的正式定义

结果是个整数 ……

…… 要小于(或等于) 2.31,对不?

糟了!很多整数都小于 2.31。

 

我们选哪个?

最大的(即是 2

结果是:

小于(或等于) 2.31 的最大整数是 2

所以定义是:

向下取整函数:小于或等于 x 的最大整数

向上取整也一样:

向上取整函数:大于或等于 x 的最小整数

向下取整是个有趣的 "阶梯"函数(像个无穷阶梯):

向下取整函数

向下取整函数

(注意:实心圆点的意思是 "包括"
空心圆点的意思是 "不包括")

试试看:想象你在某个 x值(例如 x=1.5)。根据这个图, y值是多少?

例子:在 x=2,我们看到在 y=1 的空心圆点(所以不包括 x=2),也看到在 y=2 的实心圆点(包括 x=2),所以答案是 y=2

这是向上取整函数:

向上取整函数

向上取整函数

"Int" 函数

"Int" 函数(英语 "integer" 的简写)和 "向下取整"函数一样,但当输入为负数时,有些计算器和电脑程序返回不同的答案:

所以要小心!

"Frac" 函数

向上取整函数 "扔掉" 分数部分。这个部分叫 "frac" 或 "分数部分"函数:

frac(x) = x − floor(x)

图像锯齿:

Frac 函数

Frac 函数

例子:frac(3.65) 是什么?

frac(x) = x − floor(x)

所以:frac(3.65) = 3.65 − floor(3.65) = 3.65 − 3 = 0.65

例子:frac(−3.65) 是多少?

frac(x) = x − floor(x)

所以:frac(−3.65) = (−3.65) − floor(−3.65) = (−3.65) − (−4) = −3.65 + 4 = 0.35

 

但是,很多计算器和电脑程序用的公式是 frac(x) = x − int(x),所以答案也视乎 int(x) 的值是多少:

所以处理负值的 frac 函数时要小心。