指数・対数演算
C言語には、対数の関数として、自然対数eを底としたlog()と、10を底としたlog10()が用意されています。
じゃ、例えば2を底とした対数ってどうやって計算するんでしょ?
その昔、友人から「結局は自然対数を底とした関数だけありゃ、問題ないでしょ」と言われたことを思い出したんで、なんとなくまとめておくことにします。
結論だけ先に書くと、 として、底の変換が行えます。
...じゃ、これってどういうことなんでしょ。
ま、いい機会なんで、きっちり復習しちゃいましょう。
指数演算
1. ※ aをn回乗算する
2.
3.
4.
5.
6.
対数演算
1.
2.
3.
4.
5.
6.
7.
8. ※ 対数の底の変換
1. 解説
は、eを底としたときの指数がいくつになるのかを示している。
つまり、「 を何乗すると、nになるか?」ってことを示している。
一般に は自然対数を示すが、あんまり深く考えないでよろしい。
底を明示的に示す場合には のように書く。
この場合、「2を何乗すると、32になるか?」って事だから、
を示す。
2. 解説
指数演算から、「」 って事はわかってるんで、対数は0になります。
3. 解説
多分これが一番重要な考え方です。
これさえ乗り越えれば、後は簡単なんで理解するまで、がんばりましょう。
「 」とは、「を何乗すると、になるか?」ということを示しているから、その値を指数として、をべき乗すれば、となります。
簡単のため、「 」を考えてみましょう。
なので、 ということがわかります。
すなわち、 を示しています。
4.
「」を考える前に、「」がどのような値になるのかを考えてみることにする。
指数演算を用いて、
対数演算3.より、「」「」といえるので、
当然、
といえるので、
がわかる。
5.
4. と同じ
6.
4. の解説と同様、まずは「」がどのような値になるのかを考えることにする。
指数演算より
... ※
当然、
といえるので、
が成り立つ
7.
まずは、「」がどのような値になるのかを考えてみる。
指数演算より、
... ※
... ※
すなわち、
が成り立つ。
8.
7. これがわかっちゃえば、底が変換できるように移項しただけなんで簡単ですよね。