大学を卒業してはや数年。
やったー!これで微分とも積分とも対数ともお別れだ!!
と思っていた時代もありました。
しかしとうとう先日logとは感動の再会を果たしました。
その時に
logって何?基数って何?
という人が意外と多いことに気が付きました。
ぶっちゃけ、昨今の謎の人手不足によって現場によってはプログラマーとはいえども半数くらい文系の学科卒業の人だったりする感じなので、「学生のときでもほとんど触れなかった……」「いきなりlogとか何の話?」っていう人も結構いるんじゃないかなと思っています。
今回はこの「対数のlog」について書いていきます。
そもそもlogとは何か
102=10*10=100
10の2乗は100になりますが、10を100にするには10を何乗すればいいでしょう?
2乗?
正解です!
それを示すのがlogになります。
log10100=2
「10を100にするには2乗したらOK!」ということを示した式がこちらになります。
この小さい「10」のことを底といいます。
底が10とかeとか使い分けがよくわからんよね
底ですが大抵使うのが「10」か「e」になります。
例外として2進数の計算している時は底2を使ったりもします。
使うときは底がどれかあたりをつけてから詳しい人にどういう計算をしたいの確認した方がよいです。
底10を使うときは?
お金の計算であればまず底10かなという感じ。
桁数を使って何か計算したいときはこっち。
底eを使うときは?
「10」はまだ分かるけど……eって?
eはですね……微分しても積分しても値が変わらない摩訶不思議な数字です。
eは実数でいうと「2.7……」とエンドレスで続く数値になります。
このeが底の対数をどこで使うかというと、AIの重み付けの計算だったり、一部電気の計算で出てきます。
プログラミングでの注意事項
プログラミング言語では大抵「log」という関数が使えるようになっているのですが、この関数「log」は底が10だったりeだったりプログラミング言語によって違います。
検索したら必ずこの言語のこの関数では底がどっちという情報か書かれているので必ず調べてから使いましょう。
底が違うと全然違う値が出てしまうから注意!
例えばC#やVBAで使えるMath.Logはそのまま使うと底eの対数が求められるのですが、これがExcelの数式の方のlogになると底が10の方の対数が算出されます。
対数は適切に使えるとカッコイイよ
今回は対数のlogについて書いてみました。
対数のlog、底10を使うのは金額計算の時!
底eを使うのはAIの重み付けや電気の計算の時!
では今日もお仕事頑張っていきましょ!