거듭제곱의 원리
지수는 밑을 몇 번 곱하는지를 나타냅니다. 지수법칙 aᵐ × aⁿ = aᵐ⁺ⁿ을 자연수뿐 아니라 0, 음수, 분수 지수에서도 흔들림 없이 그대로 유지하려면 아래 세 가지 정의가 자연스럽게 따라 나옵니다. 이 확장이 없으면 지수법칙은 자연수 지수에서만 성립하고, 실수 전체로 넓어지지 못합니다.
- b — 밑 — 거듭제곱에서 반복해 곱해지는 수. 이 계산기에서는 양수·음수·0을 모두 입력할 수 있습니다.
- e — 지수 — 밑을 몇 번 곱하는지 나타내는 값. 자연수뿐 아니라 0, 음수, 분수도 입력할 수 있습니다.
자세한 설명
지수법칙이 강제하는 정의
근거: aᵐ × aⁿ = aᵐ⁺ⁿ이 지수 전체의 출발점입니다. 이 법칙이 지수가 자연수일 때뿐 아니라 0, 음수, 분수일 때도 그대로 성립해야 한다면, 다른 정의는 선택이 아니라 강제됩니다. 먼저 m=e, n=0을 대입하면 aᵉ × a⁰ = aᵉ⁺⁰ = aᵉ이므로, a⁰은 반드시 1이어야 aᵉ을 그대로 유지합니다(a≠0). 다음으로 지수를 e와 −e로 두면 aᵉ × a⁻ᵉ = aᵉ⁻ᵉ = a⁰ = 1이 되어, a⁻ᵉ은 aᵉ의 역수, 즉 1/aᵉ일 수밖에 없습니다. 같은 방식으로 a^(1/2) × a^(1/2) = a^(1/2+1/2) = a¹ = a이므로, a^(1/2)은 제곱해서 a가 되는 수, 곧 제곱근 √a입니다. 세 정의 모두 '그렇게 약속했다'가 아니라 지수법칙 하나를 계속 쓰기 위해 자연스럽게 도출된 결과입니다.
0의 0제곱은 무엇으로 정할까
0⁰은 수학에서 하나로 정해지지 않은 값입니다. 조합론이나 멱급수에서는 0⁰ = 1로 두는 쪽이 계산이 매끄러워 관례로 굳어 있습니다. 반면 xʸ의 극한으로 접근하면 (x, y)가 (0, 0)에 가까워지는 경로에 따라 값이 0에 가까워지기도 하고 1에 가까워지기도 해서, 극한 관점에서는 정해지지 않는 부정형으로 분류됩니다. 즉 0⁰은 정의를 하기 나름이지 계산으로 유일하게 정해지는 값이 아닙니다. 이 계산기는 자바스크립트의 Math.pow(0, 0)을 그대로 사용하며 그 결과는 1입니다. 그래서 밑에 0, 지수에 0을 입력하면 거듭제곱 칸에는 1이 표시됩니다. 이런 이유로 계산기·프로그래밍 언어마다 0⁰ 처리 방식이 다를 수 있으니, 결과를 그대로 믿기보다 어떤 규칙을 쓰는지 확인하는 편이 안전합니다.
계산 과정: 2¹⁰을 반씩 쪼개 구하기
2를 열 번 그대로 곱하면 아홉 번의 곱셈이 필요하지만, 지수법칙 aᵐ⁺ⁿ = aᵐ × aⁿ을 이용해 지수를 반으로 쪼개면 훨씬 적은 곱셈으로 같은 값을 구할 수 있습니다(거듭제곱에 의한 빠른 거듭제곱). 2¹ = 2, 2² = 2×2 = 4, 2⁴ = 4×4 = 16, 2⁸ = 16×16 = 256까지 세 번만 제곱하고, 마지막에 2⁸ × 2² = 256 × 4 = 1,024를 한 번 더 곱하면 끝입니다 — 곱셈 네 번으로 2¹⁰ = 1,024가 나옵니다. 다른 방식으로 봐도 2⁵ = 32이고 2¹⁰ = 32² = 1,024로 값이 같습니다. 같은 방법을 음의 지수와 분수 지수에도 적용할 수 있습니다. 3⁻² = 1/3² = 1/9 = 0.111…이고, 8^(2/3)은 세제곱근을 먼저 구한 뒤 제곱하는 것과 같아 8^(2/3) = (∛8)² = 2² = 4입니다. 세 값 모두 아래 계산기에 밑과 지수를 그대로 입력해 재현할 수 있습니다.
밑이 음수일 때 흔히 하는 실수
괄호가 있는지 없는지에 따라 결과가 완전히 달라집니다. (−2)²은 −2를 통째로 제곱한 값이라 (−2) × (−2) = 4이지만, 괄호 없이 −2²이라고 쓰면 지수가 2에만 걸리고 마이너스 부호는 나중에 붙기 때문에 −(2²) = −4가 됩니다. 거듭제곱이 단항 부호보다 먼저 계산되는 연산 순서 때문에 생기는 차이이며, 수식을 계산기나 프로그램에 옮겨 적을 때 가장 흔히 나는 실수입니다. 분수 지수로 가면 문제가 하나 더 있습니다. (−8)^(1/3)은 실수 범위에서 세제곱해서 −8이 되는 수, 즉 −2가 분명히 존재합니다((−2)³ = −8). 하지만 이 계산기를 포함한 대부분의 계산기는 밑이 음수이고 지수가 정수가 아니면 결과를 정의하지 않습니다 — 음수인 밑을 소수 지수로 올리는 연산 자체가 실수 범위를 벗어나기 쉽기 때문입니다. 실제로 이 계산기에 밑 −8, 지수 0.333…을 입력하면 거듭제곱 칸에는 −2가 아니라 '—'가 표시됩니다. 또한 밑이 음수이면 제곱근 출력 칸도 정의되지 않아 항상 '—'로 남습니다. 부호와 소수 지수를 함께 입력할 때는 이 두 가지를 미리 염두에 두는 편이 좋습니다.
밑이 1보다 클 때 지수는 아주 빨리 커진다
지수가 커질수록 값이 기하급수적으로 불어나는 것은 밑이 1보다 클 때 이야기입니다. 2¹⁰ = 1,024지만 2²⁰은 그 천 배가 넘는 약 100만이고, 2³⁰은 다시 천 배가 되어 약 10억이 됩니다. 밑이 0과 1 사이면 방향이 정반대로 뒤집혀 지수가 커질수록 0에 가까워집니다 — 0.5¹⁰ = 0.000976563이고 0.5²⁰은 그 천 분의 일 수준인 9.53674×10⁻⁷입니다. 이 계산기가 쓰는 자바스크립트 배정밀도 실수는 2⁵³ − 1 = 9,007,199,254,740,991까지의 정수만 오차 없이 표현하는데, 2⁶⁴ = 18,446,744,073,709,551,616은 자릿수부터 이미 그 한계를 훌쩍 넘어섭니다. 그래서 큰 지수를 입력하면 화면의 숫자는 유효숫자 6자리로 반올림한 근삿값이지 마지막 자리까지 정확한 값이 아니며, 2¹⁰⁰은 정확히 쓰면 서른한 자리 숫자입니다. 위쪽 끝도 있습니다 — 밑 2에서는 지수 1023까지만 8.98847×10³⁰⁷ 같은 값이 나오고, 1024부터는 배정밀도로 표현할 수 있는 범위를 넘어 거듭제곱 칸이 '—'로 바뀝니다.
이 계산기가 실제로 처리하는 범위 (기준일: 2026-08-19)
정의를 코드로 직접 확인한 결과는 다음과 같습니다. 밑과 지수에 0을 넣으면 1이 나오고(0⁰ = 1로 처리), 밑이 음수이고 지수가 정수가 아니면 거듭제곱 칸은 '—'로 표시되며, 제곱근 출력은 밑이 0 이상일 때만 계산되고 그 외에는 항상 '—'입니다. 지수의 반대 방향 연산, 즉 몇 제곱해야 이 값이 나오는지를 구하는 것은 로그이며 이 사이트의 로그 계산기에서 다룹니다. 위 항목들은 이 문서를 작성하며 이 계산기의 실제 소스 코드를 직접 읽어 하나하나 확인한 내용입니다.
2의 거듭제곱. 2¹⁰ = 1024 ≈ 1000이라 1킬로바이트가 1024바이트입니다. 2의 지수가 10 늘어날 때마다 약 1000배가 됩니다: 2²⁰ ≈ 100만, 2³⁰ ≈ 10억.
자주 묻는 질문
2의 10제곱은 얼마인가요?
2¹⁰ = 1,024입니다. 2⁸ = 256까지 세 번 제곱한 뒤 2² = 4를 한 번 더 곱하면(256 × 4 = 1,024) 아홉 번 곱하지 않고도 같은 값을 구할 수 있습니다. 위에 밑 2, 지수 10을 입력해 확인해 보세요.
0의 0제곱은 얼마인가요?
수학적으로 0⁰은 하나로 정해진 값이 아니라 맥락에 따라 다르게 정의됩니다. 조합론·멱급수에서는 1로 두는 것이 편리해 관례로 쓰이지만, 극한으로 접근하면 값이 정해지지 않는 부정형입니다. 이 계산기는 자바스크립트의 계산 방식을 따라 0⁰ = 1로 표시합니다.
왜 (−2)²은 4인데 −2²은 −4인가요?
괄호의 유무가 계산 순서를 바꾸기 때문입니다. (−2)²은 −2 전체를 제곱해 (−2) × (−2) = 4이지만, 괄호 없는 −2²은 거듭제곱이 마이너스 부호보다 먼저 계산돼 −(2²) = −4가 됩니다. 수식을 계산기에 옮길 때 가장 흔히 나는 실수이니 밑이 음수면 반드시 괄호를 확인하세요.
밑에 음수, 지수에 소수를 넣으면 왜 결과가 안 나오나요?
예를 들어 (−8)^(1/3)은 실수 범위에서 −2라는 값이 분명히 존재하지만((−2)³ = −8), 이 계산기는 밑이 음수이고 지수가 정수가 아니면 결과를 정의하지 않아 거듭제곱 칸에 '—'를 표시합니다. 음수를 소수 지수로 올리는 연산은 일반적으로 실수 범위를 벗어나기 쉬워 대부분의 계산기가 같은 방식으로 처리합니다.
지수가 아주 크면 왜 값이 딱 떨어지지 않나요?
자바스크립트 배정밀도 실수는 2⁵³ − 1(약 9,007조)까지의 정수만 오차 없이 표현합니다. 2⁶⁴처럼 이 범위를 넘는 지수를 계산하면 결과는 유효숫자 6자리로 반올림한 근삿값으로 표시됩니다. 다만 자릿수가 짧은 값(2¹⁰ = 1,024처럼 유효숫자 6자리 이하)만 그대로 표시되고, 2²⁰ = 1,048,576처럼 유효숫자가 7자리를 넘으면 배정밀도 한계와 무관하게 6자리로 반올림돼 1048580으로 보입니다.