로그 계산기 쉽게 이해하기 — 개념과 원리
로그는 "밑을 몇 번 거듭제곱해야 이 수가 되는가"에 답하는 값입니다. 10³ = 1,000이므로 log₁₀ 1,000 = 3입니다. 이 계산기는 양수 x에 대해 원하는 밑의 로그를 구하고, 자연로그(ln, 밑 e), 상용로그(log₁₀), 이진로그(log₂)를 함께 보여 줍니다. 로그는 pH, 데시벨, 지진 규모, 복리로 목표 금액에 이르는 기간, 알고리즘의 복잡도처럼 값의 범위가 매우 넓은 곳에 두루 쓰입니다.
계산 방법
- 임의의 밑: log_b(x) = ln x ÷ ln b (밑변환 공식)입니다.
- 자연로그: ln x이며, e ≈ 2.718281828입니다.
- 상용로그: log₁₀ x, 이진로그: log₂ x입니다.
진수 x는 0보다 커야 하고, 밑 b는 양수이면서 1이 아니어야 합니다. 둘 다 단위가 없는 수입니다.
원리
y = log_b(x)는 bʸ = x와 같은 뜻이므로 로그는 지수함수의 역함수입니다. 거듭제곱을 곱하면 지수가 더해지므로, 로그를 취하면 곱셈이 덧셈으로 바뀝니다. 즉 log(xy) = log x + log y입니다. 전자계산기가 나오기 전 로그표와 계산자가 큰 수의 곱셈을 쉽게 해 준 것도 이 성질 덕분입니다. 밑변환 공식도 여기서 바로 나옵니다. bʸ = x의 양변에 자연로그를 취하면 y ln b = ln x이므로 y = ln x ÷ ln b입니다. e 대신 어떤 밑을 써도 성립하므로 로그 하나만 계산할 줄 알면 모든 밑의 로그를 구할 수 있습니다.
예제 풀이
- 입력값: x = 1,000, 밑 b = 10입니다.
- ln 1,000 ≈ 6.907755279, ln 10 ≈ 2.302585093입니다.
- log₁₀ 1,000 = 6.907755279 ÷ 2.302585093 = 3입니다. 10³ = 1,000이기 때문입니다.
- 나머지 결과는 ln x ≈ 6.907755279, log₁₀ x = 3, log₂ x ≈ 9.965784285입니다. 2¹⁰ = 1,024가 1,000보다 조금 크므로 10보다 조금 작은 값이 나옵니다.
| 밑 | log_b(x) |
|---|---|
| 2.5 | 7.538824784 |
| 5 | 4.292029674 |
| 7.5 | 3.428331393 |
| 10 | 3 |
| 12.5 | 2.734955433 |
| 15 | 2.550822461 |
| 20 | 2.305865361 |
결과 해석
상용로그의 정수 부분은 수의 자릿수 규모를 알려 줍니다. 결과가 3.xx이면 천 단위의 수입니다. 상용로그가 1 차이 나면 10배, 이진로그가 1 차이 나면 2배 차이입니다. 0 < x < 1이면 로그는 음수, x = 1이면 0이며, x가 커져도 로그는 천천히 증가합니다.
흔한 실수
- 0이나 음수의 로그를 구하려는 경우입니다. 실수 범위에서는 값이 없습니다.
- 기기마다 다른 "log"를 혼동하는 경우입니다. 학교와 계산기에서는 보통 밑 10을, 많은 프로그래밍 언어에서는 밑 e를 뜻합니다.
- log(x + y) = log x + log y로 쓰는 경우입니다. 덧셈이 아니라 곱 xy일 때 성립합니다.
- 밑을 1로 두는 경우입니다. 1은 몇 번 거듭제곱해도 1이므로 로그가 정의되지 않습니다.
자주 묻는 질문
ln과 log는 무엇이 다른가요?
ln은 언제나 밑이 e인 자연로그입니다. log는 교과서와 계산기에서는 보통 상용로그이지만, 자바스크립트의 Math.log처럼 프로그래밍에서는 자연로그인 경우가 많습니다.
2ˣ = 50은 어떻게 푸나요?
양변에 로그를 취하면 x = log₂ 50 = ln 50 ÷ ln 2 ≈ 5.644입니다.
log₁₀ 2 ≈ 0.301은 어디에 쓰이나요?
2배가 될 때마다 상용로그가 약 0.301씩 늘어난다는 뜻이어서, 2¹⁰ ≈ 10³처럼 2의 거듭제곱을 어림할 때 편리합니다.
출처: John Napier, Mirifici Logarithmorum Canonis Descriptio (1614) · NIST Digital Library of Mathematical Functions, Chapter 4: Elementary Functions (§4.2)