下取整函数
上取整函数
在数学和计算机科学中，**取整函数**是一类将实数映射到相近的整数的函数。

常用的取整函数有两个，分别是**下取整函数**（英語：）和**上取整函数**（）。

**下取整函数**即為**取底符號**，在数学中一般记作{\displaystyle [x]}或者{\displaystyle \lfloor x\rfloor }或者{\displaystyle E(x)}，在计算机科学中一般记作floor(*x*)，表示不超过*x*的整数中最大的一个。

{\displaystyle [x]=\max \,\{n\in \mathbb {Z} \mid n\leq x\}.}
举例来说，{\displaystyle [3.633]=3}，{\displaystyle [56]=56}，{\displaystyle [-2]=-2}，{\displaystyle [-2.263]=-3}。对于非负的实数，其下取整函数的值一般叫做它的**整数部分**或**取整部分**。而{\displaystyle x-[x]}叫做*x*的小数部分。每个分数都可以表示成其整数部分与一个真分数的和，而实数的整数部分和小数部分是与此概念相应的拓延。

下取整函数的符号用方括号表示（{\displaystyle [x]}），称作**高斯符号**，首次出現是在卡爾·弗里德里希·高斯的數學著作《算术研究》。

  

**上取整函数**即為**取頂符號**在数学中一般记作{\displaystyle \lceil x\rceil }，在计算机科学中一般记作ceil(*x*)，表示不小于*x*的整数中最小的一个。

{\displaystyle \lceil x\rceil =\min\{n\in \mathbb {Z} \mid x\leq n\}.}
举例来说，{\displaystyle \lceil 3.633\rceil =4}，{\displaystyle \lceil 56\rceil =56}，{\displaystyle \lceil -2\rceil =-2}，{\displaystyle \lceil -2.263\rceil =-2}。

计算机中的上取整函数和下取整函数的命名来自于英文的*ceiling*（天花板）和*floor*（地板），1962年由肯尼斯·艾佛森于《A Programming Language》引入。

性质
--

对于高斯符號，有如下性质。

* 按定义：
{\displaystyle [x]\leq x<[x]+1} 当且仅当*x*为整数时取等号。
* 设x和n为正实数，则：
{\displaystyle \left[{\frac {n}{x}}\right]\geq {\frac {n}{x}}-{\frac {x-1}{x}}}
* 当*n*为正整数时，有：
{\displaystyle \left\lbrack {\frac {x}{n}}\right\rbrack ={\frac {x-x{\bmod {n}}}{n}},} 其中{\displaystyle x{\bmod {n}}}表示{\displaystyle x}除以{\displaystyle n}的餘數。
* 对任意的整数*k*和任意实数*x*，
{\displaystyle [{k+x}]=k+[x].}
* 一般的數值修約規則可以表述为将*x*映射到floor(*x* + 0.5)；
* 高斯符號不是连续函数，但是上半连续的。作为一个分段的常数函数，在其导数有定义的地方，高斯符號导数为零。
* 设*x*为一个实数，*n*为整数，则由定义，*n* ≤ *x*当且仅当*n* ≤ floor(*x*)。
* 當*x*是正數時，有：
{\displaystyle \left\lbrack 2x\right\rbrack -2\left\lbrack x\right\rbrack \leqslant 1}
* 用高斯符號可以写出若干个素数公式，但没有什么实际价值，見§ 質數公式。
* 对于非整数的*x*，高斯符號有如下的傅里叶级数展开：
{\displaystyle [x]=x-{\frac {1}{2}}+{\frac {1}{\pi }}\sum \_{k=1}^{\infty }{\frac {\sin(2\pi kx)}{k}}.}
* 根据Beatty定理，每个正无理数都可以通过高斯符號制造出一个整数集的分划。
* 最后，对于每个正整数*k*，其在 p 进制下的表示有 {\displaystyle [\log \_{p}(k)]+1} 个数位。

### 函數間之關係

由上下取整函數的定義，可見

{\displaystyle \lfloor x\rfloor \leq \lceil x\rceil ,}
等號當且僅當{\displaystyle x}為整數，即

{\displaystyle \lceil x\rceil -\lfloor x\rfloor ={\begin{cases}0,&{\text{ 若 }}\ x\in \mathbb {Z} ,\\1,&{\text{ 若 }}\ x\not \in \mathbb {Z} .\end{cases}}}
實際上，上取整與下取整函數作用於整數{\displaystyle n}，效果等同恆等函數：

{\displaystyle \lfloor n\rfloor =\lceil n\rceil =n.}
自變量加負號，相當於將上取整與下取整互換，外面再加負號，即：

{\displaystyle {\begin{aligned}\lfloor x\rfloor +\lceil -x\rceil &=0,\\-\lfloor x\rfloor &=\lceil -x\rceil ,\\-\lceil x\rceil &=\lfloor -x\rfloor .\end{aligned}}}
且：

{\displaystyle \lfloor x\rfloor +\lfloor -x\rfloor ={\begin{cases}0,&{\text{ 若 }}\ x\in \mathbb {Z} ,\\-1,&{\text{ 若 }}\ x\not \in \mathbb {Z} ,\end{cases}}}
{\displaystyle \lceil x\rceil +\lceil -x\rceil ={\begin{cases}0,&{\text{ 若 }}\ x\in \mathbb {Z} ,\\1,&{\text{ 若 }}\ x\not \in \mathbb {Z} .\end{cases}}}
至於小數部分{\displaystyle \{x\}=x-\lfloor x\rfloor }，自變量取相反數會使小數部分變成關於1的「補數」：

{\displaystyle \{x\}+\{-x\}={\begin{cases}0,&{\text{ 若 }}\ x\in \mathbb {Z} ,\\1,&{\text{ 若 }}\ x\not \in \mathbb {Z} .\end{cases}}}
上取整、下取整、小數部分皆為冪等函數，即函數疊代兩次的結果等於自身：

{\displaystyle {\begin{aligned}{\Big \lfloor }\lfloor x\rfloor {\Big \rfloor }&=\lfloor x\rfloor ,\\{\Big \lceil }\lceil x\rceil {\Big \rceil }&=\lceil x\rceil ,\\{\Big \{}\{x\}{\Big \}}&=\{x\}.\end{aligned}}}
而多個上取整與下取整依次疊代的效果，相當於最內層一個：

{\displaystyle {\begin{aligned}{\Big \lfloor }\lceil x\rceil {\Big \rfloor }&=\lceil x\rceil ,\\{\Big \lceil }\lfloor x\rfloor {\Big \rceil }&=\lfloor x\rfloor ,\end{aligned}}}
因為外層取整函數實際衹作用在整數上，不帶來變化。

### 商

若{\displaystyle m}和{\displaystyle n}為正整數，且{\displaystyle n\neq 0}，則

{\displaystyle 0\leq \left\{{\frac {m}{n}}\right\}\leq 1-{\frac {1}{|n|}}.}
若{\displaystyle n}為正整數，則

{\displaystyle \left\lfloor {\frac {x+m}{n}}\right\rfloor =\left\lfloor {\frac {\lfloor x\rfloor +m}{n}}\right\rfloor ,}
{\displaystyle \left\lceil {\frac {x+m}{n}}\right\rceil =\left\lceil {\frac {\lceil x\rceil +m}{n}}\right\rceil .}
若{\displaystyle m}為正數，則

{\displaystyle n=\left\lceil {\frac {n}{m}}\right\rceil +\left\lceil {\frac {n-1}{m}}\right\rceil +\dots +\left\lceil {\frac {n-m+1}{m}}\right\rceil ,}
{\displaystyle n=\left\lfloor {\frac {n}{m}}\right\rfloor +\left\lfloor {\frac {n+1}{m}}\right\rfloor +\dots +\left\lfloor {\frac {n+m-1}{m}}\right\rfloor .}
代{\displaystyle m=2}，上式推出：

{\displaystyle n=\left\lfloor {\frac {n}{2}}\right\rfloor +\left\lceil {\frac {n}{2}}\right\rceil .}
更一般地，對正整數{\displaystyle m}，有埃爾米特恆等式（英语：）：

{\displaystyle \lceil mx\rceil =\left\lceil x\right\rceil +\left\lceil x-{\frac {1}{m}}\right\rceil +\dots +\left\lceil x-{\frac {m-1}{m}}\right\rceil ,}
{\displaystyle \lfloor mx\rfloor =\left\lfloor x\right\rfloor +\left\lfloor x+{\frac {1}{m}}\right\rfloor +\dots +\left\lfloor x+{\frac {m-1}{m}}\right\rfloor .}
對於正整數{\displaystyle m}，以下兩式可將上下取整函數互相轉化：

{\displaystyle \left\lceil {\frac {n}{m}}\right\rceil =\left\lfloor {\frac {n+m-1}{m}}\right\rfloor =\left\lfloor {\frac {n-1}{m}}\right\rfloor +1,}
{\displaystyle \left\lfloor {\frac {n}{m}}\right\rfloor =\left\lceil {\frac {n-m+1}{m}}\right\rceil =\left\lceil {\frac {n+1}{m}}\right\rceil -1.}
對任意正整數{\displaystyle m}和{\displaystyle n}，有：

{\displaystyle \sum \_{k=1}^{n-1}\left\lfloor {\frac {km}{n}}\right\rfloor ={\frac {(m-1)(n-1)+\gcd(m,n)-1}{2}},}
作為特例，當{\displaystyle m}和{\displaystyle n}互質時，上式簡化為

{\displaystyle \sum \_{k=1}^{n-1}\left\lfloor {\frac {km}{n}}\right\rfloor ={\frac {1}{2}}(m-1)(n-1).}
此等式可以幾何方式證明。又由於右式關於{\displaystyle m}、{\displaystyle n}對稱，可得

{\displaystyle \left\lfloor {\frac {m}{n}}\right\rfloor +\left\lfloor {\frac {2m}{n}}\right\rfloor +\dots +\left\lfloor {\frac {(n-1)m}{n}}\right\rfloor =\left\lfloor {\frac {n}{m}}\right\rfloor +\left\lfloor {\frac {2n}{m}}\right\rfloor +\dots +\left\lfloor {\frac {(m-1)n}{m}}\right\rfloor .}
更一般地，對正整數{\displaystyle m,n}，有

{\displaystyle {\begin{aligned}&\left\lfloor {\frac {x}{n}}\right\rfloor +\left\lfloor {\frac {m+x}{n}}\right\rfloor +\left\lfloor {\frac {2m+x}{n}}\right\rfloor +\dots +\left\lfloor {\frac {(n-1)m+x}{n}}\right\rfloor \\=&\left\lfloor {\frac {x}{m}}\right\rfloor +\left\lfloor {\frac {n+x}{m}}\right\rfloor +\left\lfloor {\frac {2n+x}{m}}\right\rfloor +\cdots +\left\lfloor {\frac {(m-1)n+x}{m}}\right\rfloor .\end{aligned}}}
上式算是一種「互反律」（），與§ 二次互反律有關。

應用
--

### 二次互反律

高斯給出二次互反律的第三個證明，經艾森斯坦修改後，有以下兩個主要步驟。

設{\displaystyle p}、{\displaystyle q}為互異奇質數，又設

{\displaystyle m={\frac {p-1}{2}},} {\displaystyle n={\frac {q-1}{2}}.}
首先，利用高斯引理，證明勒让德符号可表示為和式：

{\displaystyle \left({\frac {q}{p}}\right)=(-1)^{\left\lfloor {\frac {q}{p}}\right\rfloor +\left\lfloor {\frac {2q}{p}}\right\rfloor +\dots +\left\lfloor {\frac {mq}{p}}\right\rfloor },}
同樣

{\displaystyle \left({\frac {p}{q}}\right)=(-1)^{\left\lfloor {\frac {p}{q}}\right\rfloor +\left\lfloor {\frac {2p}{q}}\right\rfloor +\dots +\left\lfloor {\frac {np}{q}}\right\rfloor }.}
其後，採用幾何論證，證明

{\displaystyle \left\lfloor {\frac {q}{p}}\right\rfloor +\left\lfloor {\frac {2q}{p}}\right\rfloor +\dots +\left\lfloor {\frac {mq}{p}}\right\rfloor +\left\lfloor {\frac {p}{q}}\right\rfloor +\left\lfloor {\frac {2p}{q}}\right\rfloor +\dots +\left\lfloor {\frac {np}{q}}\right\rfloor =mn.}
總結上述兩步，得

{\displaystyle \left({\frac {p}{q}}\right)\left({\frac {q}{p}}\right)=(-1)^{mn}=(-1)^{{\frac {p-1}{2}}{\frac {q-1}{2}}}.}
此即二次互反律。一些小整數模奇質數{\displaystyle p}的二次特徵標，可以高斯符號表示，如：

{\displaystyle \left({\frac {2}{p}}\right)=(-1)^{\left\lfloor {\frac {p+1}{4}}\right\rfloor },}
{\displaystyle \left({\frac {3}{p}}\right)=(-1)^{\left\lfloor {\frac {p+1}{6}}\right\rfloor }.}
### 質數公式

下取整函數出現於若干刻畫質數的公式之中。舉例，因為{\displaystyle \left\lfloor {\frac {n}{m}}\right\rfloor -\left\lfloor {\frac {n-1}{m}}\right\rfloor }在{\displaystyle m}整除{\displaystyle n}時等於{\displaystyle 1}，否則為{\displaystyle 0}，所以正整數{\displaystyle n}為質數当且仅当

{\displaystyle \sum \_{m=1}^{\infty }\left(\left\lfloor {\frac {n}{m}}\right\rfloor -\left\lfloor {\frac {n-1}{m}}\right\rfloor \right)=2.}
除表示質數的條件外，還可以寫出公式使其取值為質數。例如，記第{\displaystyle n}個質數為{\displaystyle p\_{n}}，任選一個整數{\displaystyle r>1}，然後定義實數{\displaystyle \alpha }為

{\displaystyle \alpha =\sum \_{m=1}^{\infty }p\_{m}r^{-m^{2}}.}
則衹用取整、冪、四則運算可以寫出質數公式：

{\displaystyle p\_{n}=\left\lfloor r^{n^{2}}\alpha \right\rfloor -r^{2n-1}\left\lfloor r^{(n-1)^{2}}\alpha \right\rfloor .}
類似還有米尔斯常数{\displaystyle \theta =1.3064\ldots }，使

{\displaystyle \left\lfloor \theta ^{3}\right\rfloor ,\left\lfloor \theta ^{9}\right\rfloor ,\left\lfloor \theta ^{27}\right\rfloor ,\dots }
皆為質數。

若不疊代三次方函數，改為疊代以{\displaystyle 2}為㡳的指數函數，亦有{\displaystyle \omega =1.9287800\ldots }使

{\displaystyle \left\lfloor 2^{\omega }\right\rfloor ,\left\lfloor 2^{2^{\omega }}\right\rfloor ,\left\lfloor 2^{2^{2^{\omega }}}\right\rfloor ,\dots }
皆為質數。

以質數計算函數{\displaystyle \pi (x)}表示小於或等於{\displaystyle x}的質數個數。由威尔逊定理，可知

{\displaystyle \pi (n)=\sum \_{j=2}^{n}\left\lfloor {\frac {(j-1)!+1}{j}}-\left\lfloor {\frac {(j-1)!}{j}}\right\rfloor \right\rfloor .}
又或者，當{\displaystyle n\geq 2}時：

{\displaystyle \pi (n)=\sum \_{j=2}^{n}\left\lfloor {\frac {1}{\sum \_{k=2}^{j}\left\lfloor \left\lfloor {\frac {j}{k}}\right\rfloor {\frac {k}{j}}\right\rfloor }}\right\rfloor .}
本小節的公式未有任何實際用途。

其它等式
----

* 对于所有实数*x*，有：
{\displaystyle \left\lbrack {\frac {x}{2}}\right\rbrack ={\frac {1}{4}}((-1)^{[x]}-1+2[x])}
{\displaystyle \left\lbrack {\frac {x}{3}}\right\rbrack ={\frac {-2}{\sqrt {3}}}\sin({\frac {2\pi }{3}}[x]+{\frac {\pi }{3}})+1}
* 设*x*为一个实数，*n*为整数，则

{\displaystyle \sum \_{k=0}^{n-1}E(x+{\frac {k}{n}})=E(nx)}
{\displaystyle E({\frac {1}{n}}E(nx))=E(x)}
* 对于两个相反数的高斯符號，有：

如果x为整数，则{\displaystyle E(x)+E(-x)=0}
否则{\displaystyle E(x)+E(-x)=-1}

参考来源
----

1. ↑  Ronald Graham, Donald Knuth and Oren Patashnik（英语：）. "*Concrete Mathematics*". Addison-Wesley, 1999. Chapter 3, "Integer Functions".
2. ↑  Iverson, Kenneth E.. Wiley. 1962.
3. ↑  Graham, Knuth & Patashnik 1994，第73頁.
4. ↑  Graham, Knuth & Patashnik 1994，第85頁.
5. ↑  Graham, Knuth & Patashnik 1994，p. 85 and Ex. 3.15.
6. ↑  Graham, Knuth & Patashnik 1994，Ex. 3.12.
7. 1 2  Graham, Knuth & Patashnik 1994，第94頁.
8. ↑  Lemmermeyer 2000，§ 1.4, Ex. 1.32–1.33.
9. ↑  Hardy & Wright 1980，§§ 6.11–6.13.
10. ↑  Lemmermeyer 2000，第25頁.
11. ↑  Crandall & Pomerance 2001，Ex. 1.3, p. 46，求和式的上限{\displaystyle \infty }可以換成{\displaystyle n}。尚有一個等價的表述：{\displaystyle n>1}為質數當且僅當{\displaystyle \sum \_{m=1}^{\lfloor {\sqrt {n}}\rfloor }\left(\left\lfloor {\frac {n}{m}}\right\rfloor -\left\lfloor {\frac {n-1}{m}}\right\rfloor \right)=1.}
12. ↑  Hardy & Wright 1980，§ 22.3.
13. 1 2  Ribenboim 1996，第186頁
14. ↑  Ribenboim 1996，第181頁.
15. ↑  Crandall & Pomerance 2001，Ex. 1.4, p. 46.
16. ↑  Ribenboim 1996，第180頁（譯文）：「雖然該些公式毫不實用⋯⋯但邏輯學家希望清晰明白不同公理體系，如何推導出算術各方面，則或許與此有關⋯⋯」
17. ↑  Hardy & Wright 1980，第344—345頁（譯文）：「若數{\displaystyle \alpha }的準確值⋯⋯可以無關質數的方式表達，則該些公式之任一（或一切類似公式）的地位將截然不同。似乎沒有此種可能，但卻不能完全排除。」

* Crandall, Richard; Pomerance, Carl.. New York: Springer. 2001  [2022-02-06]. ISBN 0-387-94777-9. （原始内容存档于2022-04-09）.
* Graham, Ronald L.; Knuth, Donald E.; Patashnik, Oren.. Reading Ma.: Addison-Wesley. 1994. ISBN 0-201-55802-5.
* Hardy, G. H.; Wright, E. M.. Oxford: Oxford University Press. 1980. ISBN 978-0-19-853171-5.
* Lemmermeyer, Franz.. Berlin: Springer. 2000. ISBN 3-540-66957-4.
* Ribenboim, Paulo.. New York: Springer. 1996. ISBN 0-387-94457-5.

另见
--

截尾函数