以2為底的對數
在數學中,以2為底的對數(log2 n),又稱二進制對數,是為了得到 n 必須將2乘方的指數。
即對於任何實數 x,
例如,log2 1 = 0,log2 2 = 1,log2 4 = 2,log2 32 = 5。
以2為底的對數是以2為底的指數函數的反函數,又記作 lb n[註 1],ld n 或 lg n [1][註 2]
許多數學軟體都有計算以2為底的對數的功能。自C99起的C語言標準數學函數庫[2]和自C++11起的C++語言標準數學函數庫[3]中包含了 log2
、log2f
及 log2l
函數用來計算以2為底的對數。以2為底的對數的整數部分可以由整數上的最高置位操作或查看浮點數上的指數部分完成,分數部分也可以高效地計算。
歷史
2的乘方自古以來就被人們所知:例如,它出現在幾何原本第九卷命題 32 和命題 36 中。而一個2的乘方的以2為底的對數僅僅是它在2的乘方的序列中的位置。
以2為底的對數最早的應用是在音樂理論中,由萊昂哈德·歐拉提出:兩個音樂調的頻率比的以2為底的對數就是它們相差的八度的個數。以2為底的對數還可以用來計算一個數在二進制中的長度,或是在信息理論中編碼一個信息所需的比特個數。在計算機科學中,它們決定了二叉搜索和相關算法的迭代次數。在組合學、生物信息學、攝影學以及淘汰制賽事的設計中,都常常用到以2為底的對數。
定義和性質
以2為底的對數可以定義為以2為底的指數函數的反函數。以2為底的指數函數是一個在正實數上定義的嚴格遞增函數,因而有唯一的反函數。也可以定義為 ln n/ln 2,其中 ln 是以任意一種標準方法定義的自然對數。在這種定義中,如果使用複對數,那麼以2為底的對數的定義就擴展到複數。例如,Microsoft Excel 提供了 IMLOG2
函數計算以2為底的複對數。[4]
和其他對數一樣,以2為底的對數遵循以下等式,可以用來化簡結合以2為底的對數與乘法、乘方的式子:
表示法
在數學中,以2為底的對數通常記為 log2 n。然而,有些作者用 lg n 表示以2為底的對數,這也是芝加哥格式手冊中列出的表示形式。
注釋
- ^ ISO 31-11與ISO 80000-2標準規定的記法
- ^ 在上下文已經說明了底是 2 時,也可以直接使用 log
參考文獻
- ^ Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford. Introduction to Algorithms. the United States of America: Massachusetts Institute of Technology. 2009: 56. ISBN 978-0-262-03384-8.
- ^ cppreference中的C
log2
、log2f
、log2l
文档. (原始內容存檔於2019-02-13). - ^ cppreference中的C++
log2
、log2f
、log2l
文档. (原始內容存檔於2019-02-13). - ^ David M., Bourg. Excel Scientific and Engineering Cookbook. O'Reilly Media. 2006: 232. ISBN 978-0-596-55317-3.