이 수 변환기는 이진수에서 십진수, 16진수에서 8진수 등 다양한 진법 간 숫자를 변환할 때 완벽한 도구입니다. 값을 입력하면 원하는 진법으로 즉시 변환해줍니다.
기계어 작업을 하는 프로그래머, 수 체계를 배우는 학생, 디지털 회로를 다루는 엔지니어 등 누구나 이 도구를 사용해 신속하고 쉽게 변환할 수 있습니다.
진법이란?
진법(radix)은 숫자를 표현하는 기본 체계로, 사용할 수 있는 고유 숫자 개수와 값의 구조를 결정합니다. 진법은 숫자가 다음 자리수로 넘어가는 시점을 정의하는데, 십진법의 9에서 10으로 넘어가는 것과 같습니다.
가장 흔히 사용되는 진법은 다음과 같습니다:
-
이진법 (Base 2) – 0과 1만 사용하며, 현대 컴퓨팅과 디지털 회로의 기본입니다. 데이터가 비트 단위로 저장, 처리됩니다.
-
십진법 (Base 10) – 일상적으로 사용하는 체계로 0부터 9까지의 숫자가 포함됩니다. 대부분 수학 계산의 기반이며 인간이 숫자를 표현할 때 기본 시스템입니다.
-
8진법 (Base 8) – 0부터 7까지 숫자를 사용하며, 컴퓨터, 마이크로컨트롤러, UNIX 파일 권한 설정 등에 많이 쓰입니다. 이진수와 밀접한 관계가 있어 한 8진법 자릿수가 이진수 3자리와 대응됩니다.
- 16진법 (Base 16) – 0-9 숫자와 A-F 문자(A=10, B=11, …)를 포함하며, 프로그래밍, 컴퓨터 메모리 주소 지정, 웹 디자인 색상 코드에서 널리 사용됩니다. 이진수를 압축해 표현하기 용이합니다.
진법 변환 방법
진법 간 숫자 변환은 컴퓨팅, 전자공학, 수학에서 필수입니다. 시작 진법과 목표 진법에 따라 다양한 방법이 쓰이며, 대표적인 변환법은 다음과 같습니다:
1. 나눗셈과 나머지 방법 (십진수에서 다른 진법으로)
십진수(10진법)를 다른 진법(예: 이진법, 8진법, 16진법)으로 변환할 때 사용합니다.
-
절차:
- 십진수를 목표 진법으로 나눕니다.
- 나머지를 가장 덜 중요한 자리수(오른쪽)로 기록합니다.
- 몫이 0이 될 때까지 계속 나눕니다.
- 마지막에 나머지들을 아래에서 위로 읽으면 변환된 숫자가 나옵니다.
- 예: 45 (십진수)를 이진수로 변환:
- 45 ÷ 2 = 22, 나머지 1
- 22 ÷ 2 = 11, 나머지 0
- 11 ÷ 2 = 5, 나머지 1
- 5 ÷ 2 = 2, 나머지 1
- 2 ÷ 2 = 1, 나머지 0
- 1 ÷ 2 = 0, 나머지 1
- 결과: 45(₁₀) = 101101(₂)
2. 배수법 (이진수를 십진수로 변환)
이진수를 십진수로 변환할 때 각 자리수를 오른쪽부터 2의 거듭제곱으로 곱해 합산합니다.
- 예: 1011(₂)를 십진수로 변환:
- (1 × 2³) + (0 × 2²) + (1 × 2¹) + (1 × 2⁰)
- = (8 + 0 + 2 + 1) = 11(₁₀)
3. 묶음법 (이진수에서 8진수 또는 16진수 변환)
8진수 자릿수 하나가 이진수 3자리와, 16진수 자릿수 하나가 이진수 4자리와 대응되므로 이진수를 특정 크기 단위로 묶어 간편히 변환할 수 있습니다.
- 예: 11010110(₂)를 16진수로 변환:
- 4비트씩 묶음: 1101 0110
- 각 묶음을 변환: 1101(D), 0110(6)
- 결과: 11010110(₂) = D6(₁₆)
4. 거듭제곱과 로그 활용법 (어떤 진법에서나 십진수로 변환)
진법 b의 숫자를 십진수로 변환할 때 각 자리 숫자에 b의 거듭제곱을 곱하여 더합니다. (우측부터 0부터 시작하는 위치를 기준)
이 방법들은 다양한 진법 간 변환을 원활히 하여 컴퓨팅과 수학에서 이진수, 8진수, 십진수, 16진수 작업을 보다 쉽게 만듭니다.
16진수와 IBM 엔지니어들의 비밀
초기 컴퓨팅 시절, 엔지니어들은 이진수를 사람이 읽기 쉽고 간결하게 표현할 방법에 고민했습니다. 1950년대 IBM이 초기 컴퓨터를 개발하며, 이진수를 더 효율적으로 다룰 진법이 필요했습니다.
처음에는 8진법을 고려했는데, 이는 이진수 3자리와 대응해 관리가 편했기 때문입니다. 하지만 컴퓨터가 발전하며 IBM 엔지니어들은 16진수가 더 뛰어나다는 것을 깨달았습니다. 16진수 한 자릿수가 4비트 이진수를 완벽히 표현할 수 있었기 때문입니다 (0-9, A-F).
하나 문제였던 것은 새 체계 이름이었는데, IBM 직원들은 처음에 라틴어 이름 규칙을 따라 “sexadecimal”을 제안했습니다. 하지만 이름이 부적절하게 들릴 수 있다는 우려로 인해 혼란과 불편한 농담을 피하고자 그리스어 "hex"(6)와 라틴어 "decimal"(10)을 합친 “hexadecimal”으로 정착시켰습니다.
오늘날 16진수는 메모리 주소 지정부터 웹 색상 코드(#FF5733)에 이르기까지 컴퓨팅 전반에 널리 쓰이며, 때로는 간단한 명명 결정이 기술의 미래를 바꿀 수 있음을 보여줍니다!

