対数の結果の見方
3つの標準的な底は、同じ数について異なる問いに答えます。下の表はx = 100の場合を示しています。
| 対数 | 底 | x = 100のときの値 | 主な用途 |
|---|---|---|---|
| ln | e = 2.71828... | 4.60517 | 微積分、連続的な成長・減衰 |
| log10 | 10 | 2 | 指数表記、デシベル、pH、桁数 |
| log2 | 2 | 6.643856 | コンピュータ科学、情報理論(ビット) |
- 対数は0および負の数に対しては定義されず、底は正であり1であってはなりません。
- どの底でもlog_b(1) = 0です。b^0 = 1だからです。また、log_b(b) = 1です。b^1 = bだからです。
- 入力が0と1の間にあるとき、対数は負になります。例えば、log_10(0.01) = −2です。
- 表記は分野によって異なります。数学では底を省略した「log」がしばしば自然対数(ln)を意味する一方、工学や多くの電卓では常用対数(log10)を意味します。ISO 80000-2は、ln、lg、lbという明示的な表記を推奨しています。
対数とは?
底bにおける数xの対数はlog_b(x)と書き、xを得るためにbを何乗すればよいかを表す指数です。b^y = xならば、log_b(x) = yです。例えば、log_10(100) = 2です。10² = 100だからです。また、log_2(8) = 3です。2³ = 8だからです。対数は指数の逆演算です。
実務上は3つの底が中心的に使われます。自然対数(ln)は底e(およそ2.71828)を用い、微積分、成長・減衰モデル、諸科学分野で標準的に使われます。常用対数(log10)は、指数表記やデシベル・pHのような測定尺度の基礎となります。二進対数(log2)は、アルゴリズム解析から情報理論に至るまでコンピュータ科学全般で使われ、ビット数を測るために用いられます。
対数は正の数に対してのみ定義され、底は正であり、かつ1であってはなりません。b^yが0や負の値になるような実数yは存在しないため、log(0)や負の数の対数は定義されません。また、底が1になると、1を何乗しても常に1のままなので対数が成り立ちません。
この対数計算機の使い方
- 対数を求めたい数xを入力します。xは正の数である必要があります。
- 底bを入力します。bは正であり、1であってはなりません。よく使われる底は10、2、e(およそ2.71828)です。
- 底の変換公式によって計算された、底bにおけるxの対数を確認します。
- 同じ数について並べて表示される自然対数、常用対数、二進対数と比較します。
底の変換公式
どの対数も、別の底の対数から求めることができます:log_b(x) = ln(x) / ln(b)。この底の変換公式によって、電卓は自然対数だけを使い、任意の底の対数を計算しています。
計算例:log_2(8)。ln(8) = 2.079442、ln(2) = 0.693147を計算し、その商は2.079442 / 0.693147 = 3です。確認:2³ = 8。もう一つの例:log_10(100) = 2です。10² = 100だからです。この計算機は同じ入力に対してln(100) = 4.60517とlog_2(100) = 6.643856も表示します。
重要な代数的性質は、定義から導かれます。積の対数は対数の和になります:log_b(xy) = log_b(x) + log_b(y)。商の対数は差になり、べき乗の対数は指数を前に出せます:log_b(x^k) = k log_b(x)。これらの規則は掛け算を足し算に変換するもので、これがもともと対数表が作られた動機でした。
よくある間違い
- 0や負の数の対数を取ろうとすること。対数は正の入力に対してのみ定義されます。
- log(x + y)がlog(x) + log(y)に等しいと思い込むこと。和の法則は積に対して成り立つもので、和には成り立ちません:log(xy) = log(x) + log(y)。
- 「log」がどの底を意味するのか混同すること。電卓やプログラミング言語によって扱いが異なります(JavaScriptのMath.logは自然対数です)。
- log_b(x^k)を(log_b x)^kと書いてしまうこと。べき乗の法則は指数を対数の前に掛け算として出すもので、対数自体を累乗するものではありません。
- 底として1を使うこと。1を何乗しても1のままなので、底1の対数は存在しません。
よくある質問
100の底10における対数はいくつですか?
log_10(100) = 2です。10を2乗すると100になるからです。常用対数は10の因数の個数を数えるもので、log_10(1000) = 3、log_10(0.01) = −2となります。
自分の電卓にない底で対数を計算するにはどうすればよいですか?
底の変換公式log_b(x) = ln(x) / ln(b)(あるいは同等のlog_10(x) / log_10(b))を使います。例えば、log_5(125) = ln(125) / ln(5) = 4.828314 / 1.609438 = 3であり、実際に5³ = 125です。
lnとlogの違いは何ですか?
lnは常に自然対数、つまり底e(およそ2.71828)を表します。「log」はあいまいで、純粋数学では自然対数を指すことが多い一方、工学、化学、多くのハンドヘルド電卓では底10を意味します。ISO 80000-2規格は、あいまいさを避けるため、底eにはln、底10にはlg、底2にはlbと書くことを推奨しています。
なぜ負の数の対数を取れないのですか?
正の底の実数乗は、どんな実数乗であっても負の結果にはならないからです:b > 0のとき、b^yはすべての実数yについて正です。したがって、x ≤ 0のときlog_b(x)には実数値が存在しません(複素解析では負の数の対数を定義できますが、多価であり、実数値のみを扱う電卓の範囲外です)。
log2は何に使われますか?
二進対数log_2は、ある数に到達するまでに何回2倍すればよいかを測るもので、コンピュータ科学の基礎となっています。n個のソート済み要素に対する二分探索はおよそlog_2(n)ステップで完了し、log_2はn個の異なる値を表すのに必要なビット数を与えます。例えば、log_2(1024) = 10なので、10ビットで1024個の値を表現できます。
対数スケールとは何を意味しますか?
対数スケールは、等間隔の差ではなく等間隔の比率で値を並べるもので、一段階ごとに一定の倍率が掛かります。デシベル、リヒタースケール、pHはいずれも対数的で、pHが1上がるごとに水素イオン濃度は10分の1になります。対数スケールを使うことで、桁違いに幅広い量を1本の軸上で読み取れるようになります。
参考文献
- Weisstein, Eric W. 「Logarithm.」 MathWorld — A Wolfram Web Resource. mathworld.wolfram.com.
- ISO 80000-2:2019. Quantities and units — Part 2: Mathematics (standard notation for ln, lg, lb).
- Abramowitz M, Stegun IA (eds). Handbook of Mathematical Functions. National Bureau of Standards, 1964 (Chapter 4: elementary transcendental functions).