以2為底的對數

在数学中,以Template:Math为底的对数(Template:Math),又称二进制对数,是为了得到 Template:Math 必须将Template:Math乘方的指数。
即对于任何实数 Template:Math,
例如,Template:Math,Template:Math,Template:Math,Template:Math。
以Template:Math为底的对数是[[2的幂|以Template:Math为底的指数函数]]的反函数,又记作 Template:MathTemplate:Notetag,Template:Math 或 Template:Math [1]Template:Notetag
许多数学软件都有计算以Template:Math为底的对数的功能。自C99起的C语言标准数学函数库[2]和自C++11起的C++语言标准数学函数库[3]中包含了 log2、log2f 及 log2l 函数用来计算以Template:Math为底的对数。以Template:Math为底的对数的整数部分可以由整数上的最高置位操作或查看浮点数上的指数部分完成,分数部分也可以高效地计算。
历史
[[2的幂|Template:Math的乘方]]自古以来就被人们所知:例如,它出现在几何原本第九卷命题 32 和命题 36 中。而一个Template:Math的乘方的以Template:Math为底的对数仅仅是它在Template:Math的乘方的序列中的位置。
以Template:Math为底的对数最早的应用是在音乐理论中,由莱昂哈德·欧拉提出:两个音乐调的频率比的以Template:Math为底的对数就是它们相差的八度的个数。以Template:Math为底的对数还可以用来计算一个数在二进制中的长度,或是在信息理论中编码一个信息所需的比特个数。在计算机科学中,它们决定了二叉搜索和相关算法的迭代次数。在组合学、生物信息学、摄影学以及淘汰制赛事的设计中,都常常用到以Template:Math为底的对数。
定义和性质
以Template:Math为底的对数可以定义为[[2的幂|以Template:Math为底的指数函数]]的反函数。以Template:Math为底的指数函数是一个在正实数上定义的严格递增函数,因而有唯一的反函数。也可以定义为 Template:Math,其中 Template:Math 是以任意一种标准方法定义的自然对数。在这种定义中,如果使用复对数,那么以Template:Math为底的对数的定义就扩展到复数。例如,Microsoft Excel 提供了 IMLOG2 函数计算以Template:Math为底的复对数。[4]
和其他对数一样,以Template:Math为底的对数遵循以下等式,可以用来化简结合以Template:Math为底的对数与乘法、乘方的式子:
表示法
在数学中,以Template:Math为底的对数通常记为 Template:Math。然而,有些作者用 Template:Math 表示以Template:Math为底的对数,这也是芝加哥格式手册中列出的表示形式。