在数学和计算机科学中,取整函数是一类将实数映射到相近的整数的函数。[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为整数,则
- 否则
截尾函数