前言
比如现在来看一组幂运算(也叫求幂):
- 22,2的2次方,也就是2×2,结果是4。
- 23,就是2×2×2,结果是8,其中2是底数,3是指数。
那假如只给出结果16,底数是2,2x = 16,求x也就是指数是多少?要怎么做?
猜得没错,这里就需要用到对数去解决。
概念
对数是求幂的逆运算,正如除法是乘法的逆运算,定义为$N = a^x (a > 0, a \neq 1)$,即a的x次方等于N。
记作 $x = log_aN$ ,也就是 $a^x = N$ 等同于$x = log_aN$
其中:
- a叫做底数。
- N叫做真数。
- x叫做以a为底N的对数。
以上面的例子为例,用对数的表示就是:$x = log_216$
- 当底数a=10的时候,叫做常用对数,可以缩写为:$lgN$
- 当底数a=无理数e的时候,叫做自然对数,缩写为:$lnN$
性质
- 零和负数无对数。
- 1的对数为0,$0 = log_a1$,也就是$a^0 = 1$
- 底数和真数相同时,对数是1,$1 = log_aa$,也就是$a^1 = a$
练习
1、将下面指数式写成对数式:
- $5^4=625$
- 答:$4 = log_5625$
- $2^{-6} = \frac{1}{64}$
- 答:$-6 = log2\frac{1}{64}$
2、将下面对数式写成指数式:
- $log_\frac{1}{2}16 = -4$
- 答:$\frac{1}{2}^{-4} = 16$
- $log_2128 = 7$
- 答:$2^7 = 128$
运算
$$a^x = M, \quad a^y = N$$ $$a^x \times a^y = a^{x+y}$$ $$M \times N = a^{x+y}$$ $$log_a(M \times N) = x + y$$
运算法则
以下将介绍求出对数的方法都有哪些。
1、$log_aN = \frac{log_mN}{log_ma}$(a>0,且a≠1,m>0,且m≠1,N>0)
又称换底公式,用m替换a,m可以是任意一个数。
以 $log_216$ 为例,将2替换成10,就是 $\frac{log_{10}16}{log_{10}2}$ ,用计算器算一算:
- $log_{10}16$的精确结果是:1.204119982655948。
- $log_{10}2$的精确结果是:0.3010299956639812。
- 相除以后的精确结果是:4.000000000000077,计算器取了近似值,所以答案是4,先取近似值再相除或者用精确结果相除再取近似值都可以,取决于计算时的选择。
2、$log_a(MN) = log_aM + log_aN$(a>0,且a≠1,M、N>0)
对数的乘法法则。
3、$log_a\frac{M}{N} = log_aM - log_aN$(a>0,且a≠1,M、N>0)
对数的除法法则。
4、$a^{log_aM} = M$(a>0,且a≠1,M>0)
5、$log_{a^{m}}b^{n} = \frac{n}{m}log_ab$(a、b>0,且a、b≠1)
疑问
1、为什么定义中$a > 0, a\neq1$? 因为这些取值都是没有意义的,所以要限制,比如:
- 当a=0时,无论指数是多少,最终结果都是0。
- 当a=1时,无论指数是多少,最终结果都是1。
- 当a<0时,即负数时,求幂的结果可能会有两种情况,要么是正数要么是负数,带来的多义性无法保证对数运算结果的唯一性,比如:
- 指数为奇数时,求幂的结果是负数。
- 指数为偶数时,求幂的结果是正数。
应用
1、一棵完全二叉树中有65个结点,请算出完全二叉树的深度。
根据二叉树的性质4我们知道计算深度对应的公式是:$⌊log_2n⌋+1$。
将数据代入公式可以得到$⌊log_265⌋+1$,使用换底公式,把底数2换成10,就是$\frac{log_{10}65}{log_{10}2}$。
我们用计算器算一下,精确结果是:6.022367813028454
,向下取整就是6,代入公式。
最终答案是:$⌊log_{2}65⌋+1=6+1=7$。
如果在不能使用计算器的情况下,当然还有一种笨方法,把$log_{2}65$写成指数式,即$2^x=65$。
把不同的数字代入x,用穷举法来找一找哪个数字最接近65:
- 来大一点的数字,直接上5,即$2^5$,答案是32,还差的远,继续往上递增。
- 上6,即$2^6$,答案是64,非常接近了。
- 再往上递增看看,$2^7$,结果是128,超过65了。
那么估算答案可能是6和7之间的小数:6.xxx
,因为有向下取整函数,无论有多少个小数,最终答案都是6。
所以实际上我们并不需要精确的结果,同样也能够解决问题。