유틸리티

진법 변환, 2진수 10진수 16진수 한 번에 바꾸는 법

프로그래밍 수업에서 10진수 255를 2진수로 바꾸라는 문제가 나왔다. 손으로 나누기를 반복할 수도 있지만, 16진수까지 동시에 변환해야 한다면 계산이 꽤 번거롭다. 진법 변환의 원리와 빠르게 처리하는 방법을 정리했다.

자주 쓰는 진법 4가지

진법사용 숫자주요 용도
2진수(Binary)0, 1컴퓨터 내부 처리, 서브넷 마스크
8진수(Octal)0~7리눅스 파일 권한 (chmod 755)
10진수(Decimal)0~9일상 숫자, 수학
16진수(Hex)0~9, A~F색상 코드(#FF5733), 메모리 주소

컴퓨터는 모든 데이터를 2진수로 처리하지만, 사람이 읽기에는 너무 길다. 그래서 2진수를 4자리씩 묶어 16진수로, 3자리씩 묶어 8진수로 표현한다.

변환 원리

10진수 → 2진수

10진수를 2로 계속 나누면서 나머지를 아래에서 위로 읽는다.

예시 10진수 13 → 2진수
13 ÷ 2 = 6 나머지 1
6 ÷ 2 = 3 나머지 0
3 ÷ 2 = 1 나머지 1
1 ÷ 2 = 0 나머지 1
→ 결과: 1101

16진수 → 10진수

각 자릿수에 16의 거듭제곱을 곱해서 더한다.

예시 16진수 FF → 10진수
F(15) × 16¹ + F(15) × 16⁰ = 240 + 15 = 255

자주 나오는 변환 값

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

도구로 한 번에 변환하기

진법 변환은 원리를 알아두면 좋지만, 실무에서 매번 손으로 계산할 일은 없다. 진법 변환기에 숫자 하나만 입력하면 2진수, 8진수, 10진수, 16진수 네 가지가 동시에 나온다. 2~36진법까지 커스텀 변환도 되고, 문자의 ASCII 코드도 확인할 수 있다.

시험 공부할 때 원리를 익히고, 실제 코딩할 때는 도구를 쓰는 게 실수를 줄이는 방법이다.