유틸리티

10진수 2진수 16진수 변환, 진법 계산 쉽게 하는 법

프로그래밍을 배우다 보면 10진수 말고 다른 진법을 만나게 된다. 색상 코드에서 보이는 FF는 16진수이고, 컴퓨터가 내부적으로 쓰는 건 0과 1뿐인 2진수다. 시험이나 과제에서 진법 변환 문제가 나오면, 손으로 나눗셈을 반복하다 실수하는 경우가 많다.

진법이란

우리가 일상에서 쓰는 숫자는 0부터 9까지 10개의 기호를 쓰는 10진법이다. 컴퓨터는 전기 신호의 켜짐/꺼짐만 인식하기 때문에 0과 1, 두 가지만 쓰는 2진법으로 동작한다. 프로그래밍에서는 2진수를 짧게 표현하기 위해 8진수(0~7)와 16진수(0~F)도 자주 쓴다.

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

10진수를 2진수로 바꾸는 원리

10진수를 2로 계속 나누면서 나머지를 역순으로 읽으면 2진수가 된다. 예를 들어 13을 2진수로 바꾸면:

  1. 13 ÷ 2 = 6 ... 나머지 1
  2. 6 ÷ 2 = 3 ... 나머지 0
  3. 3 ÷ 2 = 1 ... 나머지 1
  4. 1 ÷ 2 = 0 ... 나머지 1

나머지를 아래에서 위로 읽으면 1101이 된다. 16진수 변환도 같은 원리로 16으로 나누면 되지만, 자릿수가 큰 숫자는 손 계산이 번거롭다.

실전에서 빠르게 변환하려면

손으로 나눗셈을 반복하면 시간도 걸리고 실수가 생기기 쉽다. 온라인 진법 변환기에 숫자를 입력하면 2진수, 8진수, 10진수, 16진수가 동시에 나온다. 2~36진법까지 커스텀 진법도 지원하고, ASCII 문자 코드 변환도 가능해서 프로그래밍 과제나 개발 작업에 바로 쓸 수 있다.

참고 16진수에서 A=10, B=11, C=12, D=13, E=14, F=15다. CSS 색상 코드 #FFFFFF는 RGB 각 채널이 255(FF)라는 뜻이고, 흰색을 의미한다.

진법 변환 원리를 이해해두면 컴퓨터 구조 수업이나 코딩 면접에서 유용하고, 실무에서는 변환기로 바로 확인하는 게 실수를 줄이는 방법이다.