数学计算机科学中,取整函数是一类将实数映射到相近的整数函数[1]

下取整函数
上取整函数

常用的取整函数有两个,分别是下取整函数(英語:floor function)和上取整函数ceiling function)。

下取整函数即為取底符號,在数学中一般记作或者或者,在计算机科学中一般记作floor(x),表示不超过x的整数中最大的一个。

举例来说,。对于非负的实数,其下取整函数的值一般叫做它的整数部分取整部分。而叫做x小数部分。每个分数都可以表示成其整数部分与一个真分数的和,而实数的整数部分和小数部分是与此概念相应的拓延。

下取整函数的符号用方括号表示(),称作高斯符号,首次出現是在卡爾·弗里德里希·高斯的數學著作《算术研究》。

上取整函数即為取頂符號在数学中一般记作,在计算机科学中一般记作ceil(x),表示不小于x的整数中最小的一个。

举例来说,

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

性质

编辑

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

  • 按定义:
     ; 当且仅当   为整数时取等号。
  •    为正整数,则:
     
  •   为正整数时,有:
      其中   表示   除以   的餘數。
  • 对任意的整数   和任意实数  
     
  • 一般的數值修約規則可以表述为将   映射到  
  • 高斯符號不是连续函数,但是上半连续的。作为一个分段的常数函数,在其导数有定义的地方,高斯符號导数为零。
  •   为一个实数,  为整数,则由定义,  当且仅当  
  •   是正數時,有:
     
  • 用高斯符號可以写出若干个素数公式,但没有什么实际价值,見§ 質數公式
  • 对于非整数的  ,高斯符號有如下的傅里叶级数展开:
     
  • 根据Beatty定理,每个正无理数都可以通过高斯符號制造出一个整数集的分划
  • 最后,对于每个正整数  ,其在 p 进制下的表示有  数位

函數間之關係

编辑

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

 

等號當且僅當 為整數,即

 

實際上,上取整與下取整函數作用於整數 ,效果等同恆等函數

 

自變量加負號,相當於將上取整與下取整互換,外面再加負號,即:

 

且:

 
 

至於小數部分 ,自變量取相反數會使小數部分變成關於1的「補數」:

 

上取整、下取整、小數部分皆為冪等函數,即函數疊代兩次的結果等於自身:

 

而多個上取整與下取整依次疊代的效果,相當於最內層一個:

 

因為外層取整函數實際衹作用在整數上,不帶來變化。

编辑

  為正整數,且 ,則

 

 為正整數,則[3]

 
 

 為正數,則[4]

 
 

 ,上式推出:

 

更一般地,對正整數 ,有埃爾米特恆等式英语Hermite's identity[5]

 
 

對於正整數 ,以下兩式可將上下取整函數互相轉化:[6]

 
 

對任意正整數  ,有:[7]

 

作為特例,當  互質時,上式簡化為

 

此等式可以幾何方式證明。又由於右式關於  對稱,可得

 

更一般地,對正整數 ,有

 

上式算是一種「互反律」(reciprocity law[7],與§ 二次互反律有關。

應用

编辑

二次互反律

编辑

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

  為互異奇質數,又設

   

首先,利用高斯引理,證明勒让德符号可表示為和式:

 

同樣

 

其後,採用幾何論證,證明

 

總結上述兩步,得

 

此即二次互反律。一些小整數模奇質數 的二次特徵標,可以高斯符號表示,如:[10]

 
 

質數公式

编辑

下取整函數出現於若干刻畫質數的公式之中。舉例,因為  整除 時等於 ,否則為 ,所以正整數 為質數当且仅当[11]

 

除表示質數的條件外,還可以寫出公式使其取值為質數。例如,記第 個質數為 ,任選一個整數 ,然後定義實數 

 

則衹用取整、冪、四則運算可以寫出質數公式:[12]

 

類似還有米尔斯常数 ,使

 

皆為質數。[13]

若不疊代三次方函數,改為疊代以 為㡳的指數函數,亦有 使

 

皆為質數。[13]

質數計算函數 表示小於或等於 的質數個數。由威尔逊定理,可知[14]

 

又或者,當 時:[15]

 

本小節的公式未有任何實際用途。[16][17]

其它等式

编辑
  • 对于所有实数x,有:
 
 

参考来源

编辑
  1. ^ Ronald Graham, Donald Knuth and Oren Patashnik英语Oren Patashnik. "Concrete Mathematics". Addison-Wesley, 1999. Chapter 3, "Integer Functions".
  2. ^ Iverson, Kenneth E. A Programming Language. 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. ^ 7.0 7.1 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,求和式的上限 可以換成 。尚有一個等價的表述: 為質數當且僅當 
  12. ^ Hardy & Wright 1980,§ 22.3.
  13. ^ 13.0 13.1 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頁(譯文):「若數 的準確值⋯⋯可以無關質數的方式表達,則該些公式之任一(或一切類似公式)的地位將截然不同。似乎沒有此種可能,但卻不能完全排除。」

另见

编辑

截尾函數

📚 Artikel Terkait di Wikipedia

脈衝編碼調變

在圖示中,一個正弦波(紅色曲線)取樣和量化為PCM。正弦波在每段固定時間內得到取一次樣,即x軸的刻度。而每一個樣本則依照某種運算法(在這個例子中是ceiling function),選定它們在y軸上的位置。這樣便產生完全離散的輸入訊號的替代物,很容易編碼成為數位資料,以作保存或操縱。以右圖為例,很清楚看出樣本為

欧拉因式分解法

=293\cdot 3413\,} function Euler_factorize(int n) -> list[int] if is_prime(n) then print("数字是質數,不能分解") exit function for-loop from a=1 to a=ceiling(sqrt(n)) b2

JavaScript语法

Derive不包含aBaseFunction的值,因此在访问aBaseFunction时从aBaseFunction检索它。 这可以通过改变base.aBaseFunction的值来明确,这反映在d.aBaseFunction的值中。 一些实现允许使用__proto__槽显式访问或设置原型,如下所示。 function Base()

J语言

monadic case (floor and ceiling) and for the dyadic case (minimum and maximum). Moreover, for the dyadic case the exponential function yields the identities

Scheme

environment, then one uses FUNCTION(f). FUNCTION will prevent its argument f from being evaluated, just as QUOTE would. The result of FUNCTION will be a structure

模除

r=a-n\operatorname {round} \left({\frac {a}{n}}\right)} Common Lisp的ceiling函数使用“上取整除法”(英語:ceiling division),商经由上取整函数定义为: q = ⌈ a n ⌉ {\displaystyle q=\left\lceil

Modula-3

Modula-3语言规定提供了前缀算术运算:+、-,中缀算术运算:+、-、*、/、DIV、MOD,数值函数运算:ABS(x)、FLOAT(x, T)、FLOOR(x)、CEILING(x)、ROUND(r)、TRUNC(r)、MAX(x, y)、MIN(x, y),关系运算:=、#、 <=、>=、>、<,逻辑运算:NOT p、p

皮膚

March 3, 2011 Iozzo, RV. Basement membrane proteoglycans: From cellar to ceiling. Nature reviews. Molecular cell biology. 2005, 6 (8): 646–56. PMID 16064139