유틸리티

진법 변환기 사용법, 2진수·8진수·16진수 쉽게 바꾸기

프로그래밍 수업에서 '255를 2진수로 바꿔보세요'라는 문제가 나왔다. 손으로 나눗셈을 반복해서 풀 수는 있지만, 검산할 방법이 마땅치 않다. 진법 변환은 컴퓨터 과학, 네트워크, 웹 개발 등 여러 분야에서 계속 마주치는 작업이다.

진법이 여러 개인 이유

사람은 10진수가 편하지만, 컴퓨터는 0과 1만 처리한다. 그래서 2진수가 기본이다. 8진수와 16진수는 2진수를 짧게 줄여 쓰기 위해 만들어졌다. 2진수 11111111을 16진수로 쓰면 FF, 10진수로 쓰면 255다. 같은 숫자를 표현하는 방식만 다를 뿐이다.

주요 숫자 변환표

10진수2진수8진수16진수
0000
10101012A
100110010014464
12711111111777F
25511111111377FF

어디서 쓰이나

웹 개발
CSS 색상 코드(#FF5733)가 16진수다. R, G, B 각각을 00~FF(0~255)로 표현한다.
네트워크
IP 주소의 서브넷 마스크를 2진수로 바꿔야 네트워크 범위를 계산할 수 있다. 255.255.255.0은 2진수로 24비트가 1인 상태다.
프로그래밍
메모리 주소, 비트 연산, 파일 헤더 분석 등에서 16진수를 일상적으로 쓴다. 디버깅 시 메모리 덤프는 거의 16진수로 표시된다.
학교 과제
컴퓨터 구조, 이산수학, 정보처리기사 시험 등에서 진법 변환 문제가 단골로 출제된다.
TIP 10진수를 2진수로 바꿀 때는 2로 계속 나눠서 나머지를 역순으로 읽는다. 255 ÷ 2 = 127...1, 127 ÷ 2 = 63...1 이런 식으로 반복하면 11111111이 나온다.

손 계산이 번거롭거나 검산이 필요하다면, 진법 변환기에 숫자를 입력하면 2진수, 8진수, 10진수, 16진수가 동시에 나온다. 2~36진법까지 사용자 정의 변환도 가능하고, 문자의 ASCII 코드 변환도 지원한다.

시험이든 실무든, 진법 변환 원리는 알아두되 계산은 도구에 맡기는 게 실수를 줄이는 방법이다.