以2为底的对数

求闻百科,共笔求闻
对于正实数 x 定义的函数 f(x) = log2 x 的图像

数学中,以 2 为底的对数log2 n)是为了得到 n 必须将 2 乘方的指数。即,对于任何实数 x

例如,log2 1 = 0log2 2 = 1log2 4 = 2log2 32 = 5

2 为底的对数是2 为底的指数函数反函数,又记作 lb nISO 31-11ISO 80000-2标准规定的记法),ld nlg n [1]。在上下文已经说明了底是 2 时,也可以直接使用 log

历史上,以 2 为底的对数最早的应用是在音乐理论中,由莱昂哈德·欧拉提出:两个音乐调的频率比的以 2 为底的对数就是它们相差的八度的个数。以 2 为底的对数还可以用来计算一个数在二进制中的长度,或是在信息理论中编码一个信息所需的比特个数。在计算机科学中,它们决定了二叉搜索和相关算法的迭代次数。在组合学生物信息学摄影学以及淘汰制赛事的设计中,都常常用到以 2 为底的对数。

许多数学软件都有计算以 2 为底的对数的功能。自C99起的C语言标准数学函数库[2]和自C++11起的C++语言标准数学函数库[3]中包含了 log2log2flog2l 函数用来计算以 2 为底的对数。以 2 为底的对数的整数部分可以由整数上的最高置位操作或查看浮点数上的指数部分完成,分数部分也可以高效地计算。

历史

2 的乘方自古以来就被人们所知:例如,它出现在几何原本第九卷命题 32 和命题 36 中。而一个 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 为底的对数,这也是芝加哥格式手册中列出的表示形式。

参考文献

  1. 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. 
  2. cppreference中的Clog2log2flog2l文档. 
  3. cppreference中的C++log2log2flog2l文档. 
  4. David M., Bourg. Excel Scientific and Engineering Cookbook. O'Reilly Media. 2006: 232. ISBN 978-0-596-55317-3.