유틸리티

진법 변환기 사용법, 2진수 10진수 16진수 쉽게 바꾸는 법

프로그래밍 수업에서 "255를 2진수로 바꿔보세요"라는 문제가 나왔다. 2로 계속 나누고 나머지를 역순으로 적으면 11111111이 된다. 한두 문제야 손으로 풀겠지만, 16진수 0xFF3A를 10진수로 바꿔야 하는 상황이라면 이야기가 다르다.

진법이란, 왜 여러 가지가 있을까

일상에서는 10진법만 쓰지만, 컴퓨터는 0과 1밖에 모른다. 그래서 2진법이 컴퓨터의 기본 언어다. 2진수가 너무 길어지면 4자리씩 묶어서 16진수로 줄여 쓰고, 8자리씩 묶으면 8진수가 된다.

진법사용 숫자예시 (10진수 255)주요 용도
2진수0, 111111111컴퓨터 내부 연산
8진수0~7377유닉스 파일 권한
10진수0~9255일상 숫자 체계
16진수0~9, A~FFF색상 코드, 메모리 주소

실무에서 진법 변환이 필요한 경우

  • CSS 색상 코드 : #FF5733 같은 HEX 코드가 16진수다. RGB 값(255, 87, 51)으로 바꾸려면 16진수 → 10진수 변환이 필요하다
  • 네트워크 서브넷 마스크 : 255.255.255.0을 2진수로 바꾸면 어디까지가 네트워크 주소인지 파악할 수 있다
  • 리눅스 파일 권한 : chmod 755에서 7, 5, 5는 각각 2진수 111, 101, 101이다. 읽기/쓰기/실행 권한을 나타낸다
  • 디버깅 : 메모리 주소나 에러 코드가 16진수로 표시되는 경우가 많다

변환하는 두 가지 방법

수동 계산

10진수를 2진수로 바꾸려면 해당 수를 2로 계속 나누면서 나머지를 기록하고, 마지막에 역순으로 읽으면 된다. 10진수 → 16진수는 16으로 나누는 방식이다. 원리를 이해하기엔 좋지만 큰 숫자에서는 실수가 잦다.

변환 도구 사용

숫자 하나를 넣으면 2진수, 8진수, 10진수, 16진수를 동시에 보여주는 온라인 진법 변환기가 있다. 2~36진법까지 사용자 지정도 가능하고, ASCII 문자 코드 변환까지 지원해서 개발 중에 빠르게 확인할 때 유용하다.

TIP 윈도우 기본 계산기에도 '프로그래머' 모드가 있지만, 한 번에 하나의 진법만 볼 수 있다. 네 가지 진법을 동시에 비교하려면 웹 도구가 편하다.

자주 쓰는 변환 값 참고표

10진수2진수16진수비고
000000-
101010A16진수 시작
127011111117FASCII 범위 끝
25511111111FF1바이트 최대값
1024100000000004001KB

진법 변환은 시험 때만 쓰고 끝나는 게 아니다. 개발, 네트워크, 보안 분야에서 일상적으로 마주치는 작업이니, 원리를 한 번 이해해두면 두고두고 쓸모가 있다.