진법 변환기란?
진법 변환기는 숫자가 가진 실제 값은 그대로 두고 표기 방식만 바꿔주는 도구입니다. 컴퓨터와 프로그래머는 2진법(base 2), 8진법(base 8), 10진법(base 10), 16진법(base 16) 사이를 수시로 오가는데, 이 계산기는 0–9 다음에 A–Z를 이어 쓰는 방식으로 2진법부터 36진법까지 모든 진법을 지원합니다.
사용 방법
변환하려는 숫자를 입력하고, 그 숫자가 현재 어떤 진법으로 쓰여 있는지(변환 전 진법)와 어떤 진법으로 바꾸고 싶은지(변환 후 진법)를 지정하세요. 10진법보다 큰 진법에서는 알파벳을 사용합니다(A=10, B=11, … Z=35). 계산기는 10진법(base 10) 값도 함께 보여주므로 결과를 직접 검산할 수 있습니다.
변환 원리
변환은 두 단계로 이루어집니다. 먼저 입력값을 위치 기수법으로 10진수로 읽어냅니다. 각 자릿수에 원래 진법을 그 자리의 위치만큼 거듭제곱한 값을 곱하고, 그 결과들을 모두 더하는 방식입니다. 그다음 이 10진수 값을 목표 진법으로 변환하는데, 목표 진법으로 반복해서 나누면서 나머지를 기록하고, 그 몫으로 다시 나누기를 반복한 뒤, 마지막으로 나머지들을 거꾸로 읽으면 됩니다.
$$\text{Result} = \left( \sum_{i=0}^{k-1} d_i \cdot \text{From Base}^{\,i} \right)_{10} \longrightarrow \text{To Base}$$
$$\begin{gathered} V_{10} = \sum_{i=0}^{k-1} d_i \cdot \text{From Base}^{\,i} \\[1.5em] \text{Result} = \left( V_{10} \right)_{\text{To Base}} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} d_i &= \text{digit } i \text{ of } \text{Number} \\ k &= \text{number of digits} \end{aligned} \right. \end{gathered}$$
예제로 보는 변환
2진수 1010을 10진수로 바꿔봅시다. 위치별 합: \(1\cdot2^3 + 0\cdot2^2 + 1\cdot2^1 + 0\cdot2^0 = 8 + 0 + 2 + 0 = 10\). 반대로 10진수 255를 16진수로 바꾸면, \(255 \div 16 = 15\) 나머지 15(F), \(15 \div 16 = 0\) 나머지 15(F)가 되어 결과는 FF입니다.
일반적인 수의 진법과 자릿수 집합
수의 진법(또는 밑)은 사용 가능한 서로 다른 자릿수 기호의 개수와 각 자리의 가중치를 정의합니다. 아래 표는 변환기에서 처리하는 가장 널리 사용되는 진법, 그들이 사용하는 기호 및 각각이 일반적으로 어디에 적용되는지를 요약합니다.
| 진법 | 이름 | 자릿수 집합 | 일반적인 사용 사례 |
|---|---|---|---|
| 2 | 이진법 | 0–1 | 디지털 전자공학과 컴퓨터 메모리의 기본 표현; 각 비트는 켜짐 또는 꺼짐입니다. |
| 8 | 팔진법 | 0–7 | 이진법을 셋씩 묶는 간단한 표현; 유닉스/리눅스 파일 권한 모드(예: 755). |
| 10 | 십진법 | 0–9 | 일상적인 인간의 산술, 통화, 측정 및 일반 계산. |
| 16 | 십육진법 | 0–9, A–F | 바이트의 간단한 표시, 메모리 주소, 색상 코드(예: #FF8800) 및 기계 코드. |
| 36 | 36진법 | 0–9, A–Z | 숫자와 라틴 알파벳을 사용하는 최대 진법; 짧은 영숫자 ID 및 URL 슬러그. |
십진법–이진법–팔진법–십육진법 변환표
다음 참고자료는 십진법 값을 이진법(진법 2), 팔진법(진법 8) 및 십육진법(진법 16) 등가치와 함께 보여줍니다. 아래쪽 행에는 일반적인 바이트 및 워드 경계를 표시하는 2의 거듭제곱이 포함됩니다.
| 십진법 | 이진법 | 팔진법 | 십육진법 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
255(한 바이트의 최댓값)는 정확히 8개의 이진 1과 2개의 16진 F임을 주목하세요 — 각 십육진 자릿수는 4비트에 깔끔하게 매핑됩니다.
주요 용어 설명
- 진법 / 밑
- 어떤 수 체계가 사용하는 고유한 자릿수 기호의 개수입니다. 진법 10(십진법)은 10개의 기호(0–9)를 사용하고, 진법 2(이진법)는 2개(0–1)를 사용합니다. "밑"은 진법의 정식 수학적 동의어입니다.
- 자리 표기법
- 자릿수의 값이 그 위치에 따라 결정되는 체계입니다. 각 자리는 밑을 거듭제곱한 값과 같은 가중치를 가집니다: 진법 \(b\)에서 위치 \(i\)(오른쪽부터 0으로 시작)의 자릿수는 \(d_i \cdot b^{\,i}\)만큼 기여합니다.
- 자릿수
- 어떤 수 내의 단일 기호입니다. 유효한 자릿수는 진법에 의해 제한됩니다 — 진법 16은 0–9와 A–F를 허용하며, 여기서 A–F는 십진 값 10–15를 나타냅니다.
- 최고 자릿수(MSD)
- 가장 왼쪽 자릿수로, 가장 큰 자리 가중치를 가지므로 수 값에 가장 큰 영향을 미칩니다.
- 최하 자릿수(LSD)
- 가장 오른쪽 자릿수로, 자리 가중치 \(b^{0}=1\)를 가집니다. 이를 변경하면 값이 가장 작은 양으로 변합니다.
- 이진법, 팔진법, 십육진법
- 각각 진법 2, 8, 16인 수 체계입니다. 이들은 컴퓨팅에서 선호되는데, 그 밑이 2의 거듭제곱이므로 비트 그룹이 깔끔하게 변환됩니다: 팔진 자릿수당 3비트, 십육진 자릿수당 4비트.
- 몫과 나머지
- 십진법에서 다른 진법으로 변환할 때 사용되는 정수 나눗셈의 두 결과입니다: 몫이 0에 도달할 때까지 목표 진법으로 반복해서 나누고, 각 나머지를 자릿수로 기록합니다(가장 낮은 자리부터).
자주 묻는 질문
가장 큰 진법은 몇 진법인가요? 36진법입니다. 표준 기호인 0–9와 A–Z를 합치면 총 36개의 기호가 되기 때문입니다.
음수도 변환할 수 있나요? 네, 맨 앞의 마이너스 기호는 결과에도 그대로 유지됩니다.
소수나 분수도 변환되나요? 이 버전은 정수만 변환할 수 있습니다.