진법 변환 계산기란?
이 도구는 어떤 숫자를 한 진법(자릿수 기반 수 체계)에서 다른 진법으로 변환해 줍니다. 2진수(밑 2), 8진수(밑 8), 10진수(밑 10), 16진수(밑 16) 사이를 자유롭게 오갈 수 있죠. 같은 값이라도 상황에 따라 다른 형태로 표현되는 컴퓨터 과학, 디지털 전자공학, 프로그래밍 분야에서 특히 자주 쓰입니다.
사용 방법
변환하고 싶은 숫자를 입력한 뒤, 그 숫자가 현재 어떤 진법으로 쓰여 있는지를 "변환 전 진법"에서 고르고, 원하는 진법을 "변환 후 진법"에서 선택하세요. 계산기는 변환된 결과를 보여줄 뿐 아니라, 변환이 제대로 됐는지 직접 확인할 수 있도록 10진수 값까지 함께 표시합니다.
변환 공식 이해하기
모든 숫자는 각 자리의 숫자에 '밑(base)의 거듭제곱'을 곱한 값을 모두 더한 결과입니다. 즉
$$\text{Result}_{(\text{To base})} = \left( \sum_{i=0}^{k-1} d_i \cdot \text{From base}^{\,i} \right)_{(\text{To base})}$$이며, 자리는 맨 오른쪽을 0부터 시작해 세어 나갑니다. 반대 방향으로 변환할 때는 10진수 값을 목표 진법으로 계속 나누면서 나머지를 기록하고, 그 나머지들을 마지막부터 처음 순서로 읽으면 새 진법에서의 자릿수가 됩니다.
예제로 풀어보기
2진수 1010을 10진수로 변환해 봅시다:
$$1\cdot 2^3 + 0\cdot 2^2 + 1\cdot 2^1 + 0\cdot 2^0 = 8 + 0 + 2 + 0 = 10$$이번엔 10진수 255를 16진수로 바꿔 볼까요. \(255 \div 16 = 15\) 나머지 15(F), \(15 \div 16 = 0\) 나머지 15(F)이므로 결과는 FF가 됩니다.
여러 진법에서의 공통 값
아래 표는 같은 수를 네 가지 일반적인 위치 기수법으로 나타낸 것입니다: 이진법(2진법), 8진법(8진법), 십진법(10진법), 16진법(16진법). 작은 연속 값(0–16)은 각 진법이 어떻게 계산하는지 배우는 데 유용하며, 2의 거듭제곱과 바이트 경계(32, 64, 128, 255, 256)는 메모리와 레지스터가 비트 그룹을 중심으로 구성되어 있기 때문에 컴퓨팅에서 자주 나타납니다.
| 십진법(10진법) | 이진법(2진법) | 8진법(8진법) | 16진법(16진법) |
|---|---|---|---|
| 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 |
| 256 | 100000000 | 400 | 100 |
한 개의 16진법 숫자는 정확히 네 개의 이진법 숫자(니블)에 대응되므로, 255는 두 개의 16진 숫자(FF)와 여덟 개의 이진 숫자(한 바이트의 크기)로 나타낼 수 있습니다.
수 체계의 핵심 용어
- 기수(진법)
- 위치 기수법이 사용하는 서로 다른 숫자 기호의 개수이며, 각 자리 값이 곱해지는 값입니다. 10진법은 열 개의 기호(0–9)를 사용하고, 2진법은 두 개(0–1)를 사용합니다. 기수와 진법이라는 용어는 서로 바꿔 쓸 수 있습니다.
- 이진법(2진법)
- 0과 1만 사용하는 수 체계입니다. 각 자리는 2의 거듭제곱을 나타냅니다. 이진법은 회로가 두 가지 상태(끄기/켜기)를 쉽게 나타낼 수 있기 때문에 디지털 전자 기기의 기본 언어입니다.
- 8진법(8진법)
- 0–7의 숫자를 사용하는 수 체계로, 각 자리는 8의 거듭제곱입니다. 한 개의 8진 숫자는 세 개의 이진 숫자에 깔끔하게 대응되므로, 역사적으로 이진법의 압축된 약자로 사용되었습니다.
- 십진법(10진법)
- 0–9의 숫자를 사용하는 일상적인 수 체계로, 각 자리는 10의 거듭제곱입니다. 이는 인간의 산술에서 기본 진법입니다.
- 16진법(16진법)
- 0–9와 문자 A–F(각각 10–15를 나타냄)를 사용하는 수 체계로, 각 자리는 16의 거듭제곱입니다. 한 개의 16진 숫자는 정확히 네 개의 이진 숫자와 같으므로, 16진법은 바이트 값을 쓰는 압축된 방식입니다.
- 숫자
- 수 내의 단일 기호입니다. 허용된 숫자는 진법에 따라 다릅니다. 예를 들어, 16진법은 숫자 기호 0–9와 A–F를 사용합니다.
- 위치 기수법
- 숫자의 값이 그 위치에 따라 결정되는 체계입니다. 수의 값은 각 숫자에 그 자리의 거듭제곱만큼의 기수를 곱한 것의 합입니다. 예를 들어 \(101_2 = 1\cdot2^2 + 0\cdot2^1 + 1\cdot2^0 = 5\)입니다.
- 최상위 숫자(MSD)
- 수의 맨 왼쪽 숫자 — 가장 높은 값 자리에 있는 것으로, 합계에 가장 많이 기여합니다.
- 최하위 숫자(LSD)
- 수의 맨 오른쪽 숫자 — 가장 낮은 값 자리(일의 자리)에 있는 것으로, 합계에 가장 적게 기여합니다.
- 니블
- 네 개의 이진 숫자(비트) 그룹입니다. 니블은 0–15 값을 보유할 수 있으며 정확히 한 개의 16진 숫자에 대응됩니다.
- 바이트
- 여덟 개의 비트(두 개의 니블) 그룹으로, 256개의 서로 다른 값(0–255 또는 16진법으로 00–FF)을 나타낼 수 있습니다. 바이트는 디지털 저장소의 표준 단위입니다.
자주 묻는 질문
16진수의 알파벳도 처리되나요? 네. 16진수는 10~15를 나타낼 때 A~F를 사용하며, 입력 시 대소문자는 구분하지 않습니다.
음수도 변환할 수 있나요? 가능합니다. 값 앞에 마이너스(-) 기호를 붙이면 부호가 그대로 유지됩니다.
잘못된 값을 넣으면 어떻게 되나요? 선택한 진법에서 허용되지 않는 숫자가 들어가면(예: 2진수에 "9"를 입력) 결과에 "유효하지 않은 입력"이라고 표시됩니다.