‘y = log_a(x)’의 세 값(밑 a, 진수 x, 로그값 y) 중 알고 있는 두 가지를 입력하고 ‘계산’을 누르세요. 비워 둔 나머지 하나를 계산합니다. 아래 수식은 입력란과 연동되어 있어서 밑·진수·로그값 부분을 직접 고쳐 써도 계산할 수 있습니다.
이 페이지에서 할 수 있는 것
- 로그 \(y = \log_a x\)의 밑 \(a\), 진수 \(x\), 로그값 \(y\) 중 알고 있는 두 가지를 넣기만 하면 나머지 하나를 바로 알 수 있습니다
- 밑은 자유롭게 정할 수 있습니다. 밑에 ‘10’을 넣으면 상용로그, ‘e’를 입력하면 자연로그(\(\ln\))도 계산할 수 있습니다
- \(\log_2 8 = 3\) 같은 로그값뿐 아니라 ‘2를 10제곱하면 얼마?’(진수의 역산, \(2^{10} = 1024\))나 ‘네제곱하면 81이 되는 수는?’(밑의 역산)도 구할 수 있습니다
- 공식의 쉬운 해설과 Excel·Google 스프레드시트·Python에 복사해 쓸 수 있는 수식도 이 페이지에 정리되어 있습니다
이 계산은 어디에 쓰일까요?
소리 크기의 단위인 데시벨은 소리 에너지의 비의 상용로그로 정의됩니다. 에너지가 100배가 되어도 데시벨로는 \(10 \times \log_{10} 100 = 20\) dB밖에 늘지 않습니다.
사람의 귀는 ‘몇 배가 되었는지’로 소리를 느끼므로 로그 단위가 딱 맞습니다. 이어폰 음량의 기준도, 한국의 소음 환경기준(일반주거지역의 밤 45 dB 이하, 환경정책기본법 시행령)도 이 로그 식 위에 서 있습니다.
지진의 규모는 지진 에너지의 로그를 바탕으로 정해지며, 규모가 1 커지면 에너지는 약 32배(\(10^{1.5}\)배)가 됩니다. 즉 규모 7의 지진은 규모 5보다 에너지가 약 1000배입니다.
‘숫자가 2밖에 차이 나지 않는다’가 아니라 ‘자릿수가 세 개 다르다’고 읽을 수 있는지는 로그를 아는지에 달려 있으며, 재난 대비 감각과 바로 이어집니다.
수용액의 산성도를 나타내는 pH는 수소 이온 농도의 상용로그(\(\mathrm{pH} = -\log_{10}[\mathrm{H}^+]\))로 정의됩니다. pH 2인 레몬즙과 pH 7인 물은 농도 차이가 ‘5’가 아니라 \(10^5\)배(10만 배)입니다.
자릿수가 크게 다른 양을 0~14 정도의 다루기 쉬운 수로 바꾸는 것이 로그가 잘하는 일로, 세제나 온천, 흙의 pH 표시에 모두 쓰입니다.
연 3% 복리로 운용하면 원금이 2배가 되는 것은 \(1.03^y = 2\)를 풀어 \(y = \log_{1.03} 2 \fallingdotseq 23.4\)년 뒤입니다(수익률이 매년 일정하다고 가정한 경우).
‘72 ÷ 금리(%) ≒ 2배가 되는 햇수’로 알려진 ‘72의 법칙’도 사실은 이 로그 계산의 근삿값입니다. 자녀 교육비나 노후 자금처럼 인생의 긴 돈 계획을 감이 아니라 숫자로 세우는 바탕이 됩니다.
\(n\)가지를 구별하는 데 필요한 비트 수는 \(\log_2 n\)으로 구합니다. 예를 들어 256가지 값은 \(\log_2 256 = 8\)비트(1바이트)로 나타낼 수 있습니다.
비밀번호의 강도(무차별 대입에 필요한 시도 횟수의 규모)도 ‘몇 비트에 해당하는가’라는 로그로 어림하며, 정보화 사회의 바탕을 떠받치는 계산입니다.
피아노의 이웃한 건반(반음)의 주파수 비는 \(2^{1/12} \fallingdotseq 1.0595\)배로 통일되어 있고(평균율), 두 음의 주파수 비를 \(r\)이라고 하면 그 사이의 반음 수는 \(12 \times \log_2 r\)로 구합니다.
440 Hz의 라와 880 Hz의 라라면 \(12 \times \log_2 2 = 12\)반음, 딱 한 옥타브입니다. 악기 조율이나 음악 소프트웨어의 피치 변환은 이 로그 계산으로 움직입니다.
공식
용어·기호 해설
기호
| \(\log_a x\) | 로그 에이 엑스 | ‘\(a\)를 밑으로 하는 \(x\)의 로그’입니다. 밑 \(a\)를 몇 제곱하면 진수 \(x\)가 되는지를 나타내는 수입니다(예: \(\log_2 8 = 3\)). |
| \(a\) | 에이(밑) | 로그의 ‘바탕’이 되는 수로, \(\log_a x\)에서 아래에 작게 쓰는 수입니다. 1이 아닌 양수만 쓸 수 있습니다(밑 조건). |
| \(x\) | 엑스(진수) | 로그 안의 수입니다. 0보다 큰 수만 쓸 수 있습니다(진수 조건). |
| \(y\) | 와이(로그값) | 로그의 계산 결과입니다. ‘밑을 \(y\)제곱하면 진수가 된다’는 지수의 값 그 자체입니다. |
| \(\log_{10} x\) | 로그 십 엑스(상용로그) | 밑이 10인 로그입니다. 자릿수 감각과 바로 이어져 있어(\(\log_{10} 1000 = 3\)) 과학이나 공학에서 널리 씁니다. 한국의 고등학교 교과서처럼 밑을 생략하고 \(\log x\)로 쓰기도 합니다. |
| \(\ln x\) | 엘엔 엑스(자연로그) | 밑이 자연상수 \(e\)인 로그입니다. 미분·적분과 궁합이 좋아 수학·물리·금융에서 표준으로 씁니다. |
| \(e\) | 이(자연상수) | 약 2.71828…로 끝없이 이어지는 특별한 수입니다. 자연로그의 밑입니다. 이 계산기에서는 밑 칸에 ‘e’를 입력하면 쓸 수 있습니다. |
| \(M,\ N\) | 엠, 엔 | 로그의 성질(곱·몫·거듭제곱)을 설명할 때 쓰는 진수입니다. 둘 다 0보다 큰 수입니다. |
| \(\sqrt[n]{x}\) | 엑스의 엔제곱근 | \(n\)제곱하면 \(x\)가 되는 수입니다. \(x^{1/n}\)(\(n\)분의 1제곱)과 같은 뜻입니다(예: \(\sqrt[4]{81} = 3\)). |
용어
| 로그 | ‘밑을 몇 제곱하면 진수가 되는지’를 나타내는 수입니다. 거듭제곱의 반대 방향의 계산으로, 고등학교 ‘지수와 로그’ 단원에서 배웁니다. 영어로는 logarithm(로가리듬)이고, 기호 log는 그 줄임말입니다. |
| 밑 | 로그의 ‘바탕’이 되는 수입니다. \(\log_2 8\)이라면 2가 밑입니다. 1이 아닌 양수만 밑이 될 수 있습니다. |
| 진수 | 로그 안의 수입니다. \(\log_2 8\)이라면 8이 진수입니다. 0보다 큰 수만 진수가 될 수 있습니다. |
| 진수 조건 | 진수는 0보다 커야 한다는 규칙입니다. 양수를 몇 제곱해도 결과는 반드시 양수이므로 0이나 음수의 로그는 존재하지 않습니다. 로그가 들어간 방정식이나 부등식을 풀 때 가장 먼저 확인하는 조건입니다. |
| 밑 조건 | 밑은 ‘1이 아닌 양수’여야 한다는 규칙입니다. 1은 몇 제곱해도 1 그대로여서 로그가 정해지지 않고, 0이나 음수는 지수에 따라 값을 정의할 수 없기 때문입니다. |
| 상용로그 | 밑이 10인 로그입니다. 수의 자릿수와 바로 이어지는 것이 특징이며, pH·데시벨·지진 규모 등 주변의 로그는 대부분 상용로그입니다. |
| 자연로그 | 밑이 자연상수 \(e\)(약 2.718)인 로그입니다. 기호는 \(\ln\)입니다. 미분·적분에서 가장 다루기 쉬운 로그로, 이자 계산이나 자연 현상의 분석에 씁니다. |
| 자연상수(네이피어 수) | \(e = 2.71828\cdots\)로 끝없이 이어지는 수입니다. ‘연속적인 성장’을 나타낼 때 자연스럽게 나타나는 수학의 중요한 상수로, 원주율 \(\pi\)와 함께 유명한 무리수입니다. |
| 거듭제곱 | 같은 수를 여러 번 곱하는 계산입니다. \(2^3 = 2 \times 2 \times 2\)처럼 오른쪽 위에 작게 쓴 수(지수)가 곱하는 횟수를 나타냅니다. 로그는 거듭제곱의 반대 방향의 계산입니다. |
| 지수 | 거듭제곱의 오른쪽 위에 작게 쓰는 ‘몇 제곱하는지’의 수입니다. \(2^3\)의 3이 지수입니다. 로그값은 ‘지수를 구한 것’이라고 할 수 있습니다. |
| 밑 변환 공식 | 어떤 밑의 로그든 ‘진수의 로그 ÷ 밑의 로그’로 바꿔 쓸 수 있는 공식입니다(로그의 밑 변환 공식). 계산기나 프로그램에 \(\ln\)과 \(\log_{10}\)밖에 없어도 이 공식으로 임의의 밑의 로그를 계산할 수 있습니다. |
| 거듭제곱근 | \(n\)제곱하면 그 수가 되는 수(\(n\)제곱근)입니다. ‘네제곱하면 81이 되는 수는 3’처럼 밑의 역산은 이 거듭제곱근을 구하는 계산입니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘의미를 알고’ 쓸 수 있도록, 먼저 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 거듭제곱과 지수(중학교 1학년, 12~13세) |
|
| 지수의 확장(고등학교 ‘지수와 로그’ 단원, 15~18세) |
|
| 제곱근과 거듭제곱근(중학교 3학년~고등학교) |
|
| 반대 방향의 계산이라는 생각(초등학교~중학교) |
|
Excel로 계산하는 방법
| 진수 x | 100 |
| 밑 a | 10 |
| 로그값 y | =LOG(B1,B2) |
| 밑 a | 2 |
| 로그값 y | 10 |
| 진수 x | =B1^B2 |
| 진수 x | 81 |
| 로그값 y | 4 |
| 밑 a | =B1^(1/B2) |
| 진수 M | 4 |
| 진수 N | 25 |
| M의 로그 + N의 로그(밑 10) | =LOG(B1,10)+LOG(B2,10) |
| 곱 M×N의 로그(밑 10) | =LOG(B1*B2,10) |
| 진수 M | 1000 |
| 진수 N | 10 |
| M의 로그 − N의 로그(밑 10) | =LOG(B1,10)-LOG(B2,10) |
| 몫 M÷N의 로그(밑 10) | =LOG(B1/B2,10) |
| 진수 M | 2 |
| 지수 k | 10 |
| k × (M의 로그)(밑 10) | =B2*LOG(B1,10) |
| 거듭제곱 M^k의 로그(밑 10) | =LOG(B1^B2,10) |
Excel의 LOG 함수는 ‘=LOG(진수, 밑)’의 꼴로 씁니다(밑을 생략하면 상용로그, 즉 밑 10이 됩니다). 자연로그(밑 e)는 ‘=LN(진수)’입니다.
예를 들어 첫 번째 표라면 B3에 2가 표시됩니다(10을 제곱하면 100이기 때문입니다). 자연로그를 계산하고 싶을 때는 첫 번째 표의 B3을 ‘=LN(B1)’로 바꾸세요.
네 번째~여섯 번째 표는 로그의 성질을 확인하는 표로, 아래 두 수식은 반드시 같은 값이 됩니다.
Google 스프레드시트로 계산하는 방법
| 진수 x | 100 |
| 밑 a | 10 |
| 로그값 y | =LOG(B1,B2) |
| 밑 a | 2 |
| 로그값 y | 10 |
| 진수 x | =B1^B2 |
| 진수 x | 81 |
| 로그값 y | 4 |
| 밑 a | =B1^(1/B2) |
| 진수 M | 4 |
| 진수 N | 25 |
| M의 로그 + N의 로그(밑 10) | =LOG(B1,10)+LOG(B2,10) |
| 곱 M×N의 로그(밑 10) | =LOG(B1*B2,10) |
| 진수 M | 1000 |
| 진수 N | 10 |
| M의 로그 − N의 로그(밑 10) | =LOG(B1,10)-LOG(B2,10) |
| 몫 M÷N의 로그(밑 10) | =LOG(B1/B2,10) |
| 진수 M | 2 |
| 지수 k | 10 |
| k × (M의 로그)(밑 10) | =B2*LOG(B1,10) |
| 거듭제곱 M^k의 로그(밑 10) | =LOG(B1^B2,10) |
표를 통째로 복사해 A1 셀에 붙여 넣고 입력란의 수를 자신의 값으로 바꾸세요.
Python으로 계산하는 방법
import math
x = 100 # 진수 (0보다 큰 수)
a = 10 # 밑 (1이 아닌 양수. 자연로그는 math.e)
y = math.log(x, a) # 로그값 y = log_a(x)
print(f"밑 {a}, 진수 {x}의 로그: {y}")
# 상용로그(밑 10)와 자연로그(밑 e)는 전용 함수도 있음
print(f"상용로그 log10({x}) = {math.log10(x)}")
print(f"자연로그 ln({x}) = {math.log(x)}")
# 역산도 할 수 있음
true_number = a ** y # 진수를 구함 (밑을 y제곱)
base_number = x ** (1 / y) # 밑을 구함 (진수를 1/y제곱)
print(f"진수: {true_number}, 밑: {base_number}")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
y = logₐ x ⇔ x = aʸ
y = \log_{a} x \iff x = a^{y}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>y</mi>
<mo>=</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>x</mi>
<mo>⇔</mo>
<mi>x</mi>
<mo>=</mo>
<msup><mi>a</mi><mi>y</mi></msup>
</mrow>
</math>
y = log_a x iff x = a^y
Log[a, x]
y := log[a](x);
y = log(x)/log(a);
y = log_a(x)
logₐ x = ln x ÷ ln a
\log_{a} x = \dfrac{\ln x}{\ln a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow><mi>ln</mi><mo>⁡</mo><mi>x</mi></mrow>
<mrow><mi>ln</mi><mo>⁡</mo><mi>a</mi></mrow>
</mfrac>
</mrow>
</math>
log_a x = (ln x)/(ln a)
Log[x]/Log[a]
y := ln(x)/ln(a);
y = log(x)/log(a);
log_a(x) = ln(x)/ln(a)
a = x^{1/y}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>a</mi>
<mo>=</mo>
<msup>
<mi>x</mi>
<mrow><mn>1</mn><mo>/</mo><mi>y</mi></mrow>
</msup>
</mrow>
</math>
a = x^(1/y)
x^(1/y)
a := x^(1/y);
a = x^(1/y);
a = x^(1/y)
logₐ(MN) = logₐ M + logₐ N
\log_{a} MN = \log_{a} M + \log_{a} N
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>log</mi><mi>a</mi></msub>
<mrow><mi>M</mi><mi>N</mi></mrow>
<mo>=</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>M</mi>
<mo>+</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>N</mi>
</mrow>
</math>
log_a (MN) = log_a M + log_a N
Log[a, M*n] == Log[a, M] + Log[a, n] (* N(수치화 함수)은 Mathematica의 예약어이므로 n으로 씀 *)
log[a](M*N) = log[a](M) + log[a](N);
log(M*N)/log(a) == log(M)/log(a) + log(N)/log(a)
log_a(MN) = log_a(M) + log_a(N)
logₐ(M ÷ N) = logₐ M − logₐ N
\log_{a} \dfrac{M}{N} = \log_{a} M - \log_{a} N
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>log</mi><mi>a</mi></msub>
<mfrac><mi>M</mi><mi>N</mi></mfrac>
<mo>=</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>M</mi>
<mo>−</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>N</mi>
</mrow>
</math>
log_a (M/N) = log_a M - log_a N
Log[a, M/n] == Log[a, M] - Log[a, n] (* N(수치화 함수)은 Mathematica의 예약어이므로 n으로 씀 *)
log[a](M/N) = log[a](M) - log[a](N);
log(M/N)/log(a) == log(M)/log(a) - log(N)/log(a)
log_a(M/N) = log_a(M) - log_a(N)
logₐ(Mᵏ) = k logₐ M
\log_{a} M^{k} = k \log_{a} M
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>log</mi><mi>a</mi></msub>
<msup><mi>M</mi><mi>k</mi></msup>
<mo>=</mo>
<mi>k</mi>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>M</mi>
</mrow>
</math>
log_a (M^k) = k log_a M
Log[a, M^k] == k*Log[a, M]
log[a](M^k) = k*log[a](M);
log(M^k)/log(a) == k*log(M)/log(a)
log_a(M^k) = k log_a(M)
ChatGPT 에게 물어서 계산하는 방법
당신은 로그 계산을 돕는 계산 도우미입니다. 다음 계산을 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답해 주세요(암산이나 추측으로 답하지 마세요). 다음 값을 각각 구해 주세요. 1. 밑이 10, 진수가 100인 로그(log10(100)) 2. 진수 7의 자연로그(ln 7) 3. 밑이 2이고 로그값이 10일 때의 진수(2의 10제곱) 4. 네제곱하면 81이 되는 수(진수가 81, 로그값이 4일 때의 밑) 계산에 사용한 식과 실행 결과의 수치를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다