在數學和計算機科學中,取整函數是一類將實數映射到相近的整數的函數。[1]
常用的取整函數有兩個,分別是下取整函數(英語:floor function)和上取整函數(ceiling function)。
下取整函數即為取底符號,在數學中一般記作或者或者,在計算機科學中一般記作floor(x),表示不超過x的整數中最大的一個。
舉例來說,,,,。對於非負的實數,其下取整函數的值一般叫做它的整數部分或取整部分。而叫做x的小數部分。每個分數都可以表示成其整數部分與一個真分數的和,而實數的整數部分和小數部分是與此概念相應的拓延。
下取整函數的符號用方括號表示(),稱作高斯符號,首次出現是在卡爾·弗里德里希·高斯的數學著作《算術研究》。
上取整函數即為取頂符號在數學中一般記作,在計算機科學中一般記作ceil(x),表示不小於x的整數中最小的一個。
舉例來說,,,,。
計算機中的上取整函數和下取整函數的命名來自於英文的ceiling(天花板)和floor(地板),1962年由肯尼斯·艾佛森於《A Programming Language》引入。[2]
對於高斯符號,有如下性質。
- 按定義:
- 當且僅當x為整數時取等號。
- 設x和n為正整數,則:
- 當n為正整數時,有:
- 其中表示除以的餘數。
- 對任意的整數k和任意實數x,
- 一般的數值修約規則可以表述為將x映射到floor(x + 0.5);
- 高斯符號不是連續函數,但是上半連續的。作為一個分段的常數函數,在其導數有定義的地方,高斯符號導數為零。
- 設x為一個實數,n為整數,則由定義,n ≤ x當且僅當n ≤ floor(x)。
- 當x是正數時,有:
- 用高斯符號可以寫出若干個素數公式,但沒有什麼實際價值,見§ 質數公式。
- 對於非整數的x,高斯符號有如下的傅里葉級數展開:
- 根據Beatty定理,每個正無理數都可以通過高斯符號製造出一個整數集的分劃。
- 最後,對於每個正整數k,其在 p 進制下的表示有 個數位。
由上下取整函數的定義,可見
等號當且僅當為整數,即
實際上,上取整與下取整函數作用於整數,效果等同恆等函數:
自變量加負號,相當於將上取整與下取整互換,外面再加負號,即:
且:
至於小數部分,自變量取相反數會使小數部分變成關於1的「補數」:
上取整、下取整、小數部分皆為冪等函數,即函數疊代兩次的結果等於自身:
而多個上取整與下取整依次疊代的效果,相當於最內層一個:
因為外層取整函數實際衹作用在整數上,不帶來變化。
若和為正整數,且,則
若為正整數,則
若為正數,則
代,上式推出:
更一般地,對正整數,有埃爾米特恆等式:[5]
對於正整數,以下兩式可將上下取整函數互相轉化:
對任意正整數和,有:
作為特例,當和互質時,上式簡化為
此等式可以幾何方式證明。又由於右式關於、對稱,可得
更一般地,對正整數,有
上式算是一種「互反律」(reciprocity law),與§ 二次互反律有關。
高斯給出二次互反律的第三個證明,經艾森斯坦修改後,有以下兩個主要步驟。
設、為互異奇質數,又設
-
首先,利用高斯引理,證明勒讓德符號可表示為和式:
同樣
其後,採用幾何論證,證明
總結上述兩步,得
此即二次互反律。一些小整數模奇質數的二次特徵標,可以高斯符號表示,如:
下取整函數出現於若干刻畫質數的公式之中。舉例,因為在整除時等於,否則為,所以正整數為質數當且僅當[11]
除表示質數的條件外,還可以寫出公式使其取值為質數。例如,記第個質數為,任選一個整數,然後定義實數為
則衹用取整、冪、四則運算可以寫出質數公式:
類似還有米爾斯常數,使
皆為質數。[13]
若不疊代三次方函數,改為疊代以為㡳的指數函數,亦有使
皆為質數。[13]
以質數計算函數表示小於或等於的質數個數。由威爾遜定理,可知
又或者,當時:[15]
本小節的公式未有任何實際用途。[16][17]
- 如果x為整數,則
- 否則
截尾函數