對數只回答一個問題:底數必須提高到幾次方才能產生給定的數字?寫成 log_b(x) = y,正好代表 b^y = x,所以對數只是藏在方程式中的指數,例如 2^y = 8 或 10^y = 1000。學會如何計算對數,代表能從任何 b^y = x 形式的方程式中抽出那個指數,無論底數是 2、10、e(約 2.71828),或是完全不同的其他數值。整個運算本身會化簡為單一恆等式——換底公式 log_b(x) = ln(x) ÷ ln(b)——只要知道真數與底數的自然對數,就能計算出任何對數。實際上,一個基於瀏覽器的 對數計算機 就能為你輸入的任何底數回傳 log_b(x),並同時回傳同一數字的 ln(x)、log10(x) 和 log2(x),所以你完全不需要在開始前先決定要使用哪一種對數。

對數真正的含義
簡寫 log_b(x) 讀作「以 b 為底數之 x 的對數」。它就是那個讓 b 的 y 次方等於 x 的數字 y。所以 log_10(1000) = 3,因為 10^3 = 1000。公式中反覆出現三個角色:b 是底數(正數,且不能等於 1),x 是真數(你要求對數的數字,必須大於 0),y 則是答案。一旦把對數看成只不過是個指數,整個主題就不再覺得抽象。
再舉兩個例子讓規律更清楚。log_2(16) 問的是 2 的幾次方會等於 16,而 2^4 = 16,所以答案是 4。log_5(125) 問的是 5 的幾次方會等於 125,而 5^3 = 125,所以答案是 3。世上每一個對數都是同一種提問,只是底數與目標數字不同。
大多數人最常用的三種對數
有三個底數出現得如此頻繁,以至於各自擁有專屬的名稱與符號。知道需要哪一個,就是在紙上寫 ln(x)、log(x) 還是 log2(x) 的關鍵。
| 名稱 | 符號 | 底數 | 用途 |
|---|---|---|---|
| 自然對數 | ln(x) | e ≈ 2.71828 | 微積分、連續複利成長、半衰期衰減 |
| 常用對數 | log10(x) | 10 | 化學中的 pH 值、聲學中的分貝、地震的芮氏規模、天文學中的星等 |
| 二進位對數 | log2(x) | 2 | 以 O(log n) 表示的演算法執行時間、平衡二元樹的深度、運算中的位元計數 |
除了這三者之外,底數可以是任何數:log5、log7、log_3、log_1.5。對任何正數且不等於 1 的底數,符號 log_b(x) 的運作方式都完全相同。
如何逐步計算對數
最快得到對數答案的方式,就是把數字輸入一個會自動為你執行換底運算的工具。對數計算機正是遵循這條路徑。
- 決定你要取對數的數字。該數字就是你的真數,稱為 x,且必須大於 0——否則對數未定義。
- 決定你要使用的底數。如果不輸入底數,預設值為 e,工具會像自然對數計算機一樣運作並回傳 ln(x)。
- 把真數輸入到「Argument (x)」欄位。
- 把底數輸入到「Base (b)」欄位,或留空以計算自然對數。
- 在輸入欄下方立即讀取 log_b(x),並同時顯示同一數字的 ln(x)、log10(x) 和 log2(x),所有常見形式並列呈現。
因為你停止輸入的瞬間結果就會更新,你可以上下調整真數,看著每一種對數同步變化。這讓比較變得容易,例如比較 log10(50) 和 log2(50),觀察底數如何改變答案的大小。
換底公式
無論底數多麼特殊,每一個對數都能改寫成自然對數的單一比值:
log_b(x) = ln(x) ÷ ln(b)
正是這個恆等式,讓一個只會計算自然對數的計算機也能回答 log5(25)、log_3(81) 或其他任何底數的問題。取真數的自然對數,再取底數的自然對數,然後相除。舉例來說,log5(25) 可化簡為 ln(25) ÷ ln(5),而因為 5^2 = 25,結果正好是 2。對數計算機在你輸入任何底數時,內部都會自動執行此化簡,所以 5、7、3 這類特殊底數與 2、10 和 e 一樣順暢運作。
你不需要記住換底公式就能使用它。但知道它的存在,就能解釋為什麼單一工具能同時充當對數底數計算機、自然對數計算機與常用對數計算機。
解題範例:log2(8) = 3
看 log2(8)。問題是「2 的幾次方會等於 8?」由於 2^1 = 2、2^2 = 4、而 2^3 = 8,答案是 3。使用換底公式作為驗算:
log2(8) = ln(8) ÷ ln(2)
這個比值恰好等於 3,因為 8 是 2 的一個乾淨整數次方。工具會用白話重述推理過程——針對 log2(8),它會顯示等號形式 log2(8) = 3,並附上說明 2^3 = 8,讓對數回歸它原本的指數身分。
為什麼有些答案是精確值,有些卻有許多小數位
整數答案出現在真數正好是底數的整數次方時:log2(8) 正好是 3,log10(1000) 正好是 3,log5(125) 也是基於同樣理由正好是 3。無理數答案則出現在沒有任何底數的整數次方恰好落在真數上時:log10(7) 不是個漂亮的分數,而是大約 0.845098,計算機會保留完整的小數位,而不是將它們四捨五入成一個假裝的整數。對於 2、10 和 e 這些日常底數,工具使用瀏覽器內建的高精度函式,所以乾淨的答案保持乾淨——log2(8) 回傳精確的 3,而非 2.9999999999999996——而真正非整數的答案則保留每一位有意義的數字。少於十二位有效數字的浮點雜訊會被剔除,所以本該是 3 的答案不會被裝飾成 3.0000000000000004。
對數在現實生活中何時會出現
一旦開始留意,對數幾乎出現在每一個橫跨多個尺度範圍的科學量測中。化學中的 pH 值是氫離子濃度以負的 10 為底的對數。聲學中的音量與地震的芮氏規模,都是強度比值的 10 為底對數。天文學中的星等是亮度的 10 為底對數。資訊熵與二元搜尋類演算法的執行時間是 2 為底對數。連續複利與指數衰變則歸屬於自然對數。無論你是在檢查作業、估算 O(log n) 的執行時間、在不同對數尺度間轉換,或是求解 b^y = x 中的 y,定義都相同,計算機回傳答案的方式也相同。
需要留意的常見對數錯誤
- 對 0 或負數取對數。正數底數的任何實數次方恆為正數,因此沒有任何指數能產生 0 或負數——這些對數根本未定義。
- 使用 0、負數或 1 作為底數。底數必須大於 0 且不等於 1;底數為 1 會讓 ln(b) = 0,在換底公式中造成除以零,而且 1 的任何次方都只是 1。
- 混淆 ln 與 log。ln(x) 使用底數 e,而單獨的 log(x) 通常指底數 10。混用兩者會讓答案相差大約 2.3 倍,這個差距在作業中明顯到足以看出錯誤,卻又小到能在快速掃視時逃過察覺。
- 在紙上寫 log_b(x) 時忘了標明底數。當底數欄位留空時,工具預設為 e,所以缺少底數就代表「自然對數」,除非另行說明。
上述每一條規則都由計算機強制執行,而不是輸出一個錯誤的值;因此無效的真數會回傳清楚的「未定義」訊息,而不是一個沒有意義的數字。
想進一步了解,請參閱 如何計算金錢的百分比:3 個實用公式。