16진수 (Hexadecimal)
코딩공통
읽는데 3분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-02-10
조회수: 18
요약
16진수 표기법(0x)과 10진수 변환 방법을 알아봅니다. 정보처리기사 실기 비트 연산 문제에 자주 등장하는 0xA5 같은 16진수 값을 이해합니다.
16진수 핵심 정리
| 10진수 | 16진수 |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F |
16진수란?
16진수(Hexadecimal) 는 0부터 9와 A부터 F까지 16개의 숫자를 사용하는 숫자 체계입니다.
| 진법 | 사용하는 숫자 | 예시 |
|---|---|---|
| 2진수 | 0, 1 | 1010 0101 |
| 10진수 | 0 ~ 9 | 165 |
| 16진수 | 0 ~ 9, A ~ F | A5 |

왜 16진수를 사용할까?
16진수는 이진수를 간결하게 표현할 수 있습니다. 16진수 1자리 = 2진수 4자리(4비트) 이기 때문입니다.
| 16진수 | 2진수 | 10진수 |
|---|---|---|
| A | 1010 | 10 |
| 5 | 0101 | 5 |
| A5 | 1010 0101 | 165 |
8비트(1바이트)를 표현할 때, 2진수로는 8자리가 필요하지만 16진수로는 2자리면 충분합니다.
프로그래밍에서 16진수 표기
C, Java, Python 모두 16진수는 0x 또는 0X 접두사를 붙여 표기합니다.
c
코드 하이라이팅 중...
java
코드 하이라이팅 중...
python
코드 하이라이팅 중...
0x 없이 쓰면 10진수로 인식됩니다
A5는 컴파일 오류, 165는 10진수로 인식됩니다. 16진수임을 명시하려면 반드시 0x를 붙이세요.
16진수 → 10진수 변환
16진수의 각 자리는 오른쪽부터 16^0, 16^1, 16^2, ... 의 값을 가집니다.
text
코드 하이라이팅 중...

실기 출제 값
| 16진수 | 계산 | 10진수 |
|---|---|---|
| 0xA0 | 10×16 + 0×1 | 160 |
| 0xA5 | 10×16 + 5×1 | 165 |
| 0xDB | 13×16 + 11×1 | 219 |
| 0xED | 14×16 + 13×1 | 237 |
| 0x81 | 8×16 + 1×1 | 129 |
| 0xFF | 15×16 + 15×1 | 255 |
비트 연산에서 16진수 활용
실기 시험에서 16진수는 비트 AND 연산과 함께 출제된 바 있습니다.
c
코드 하이라이팅 중...
계산 과정
1단계: 16진수 → 10진수 변환
text
코드 하이라이팅 중...
2단계: 10진수 → 2진수 변환
2로 나누기 방법을 사용합니다.
text
코드 하이라이팅 중...
3단계: 비트 AND 연산
text
코드 하이라이팅 중...
둘 다 1인 자리만 1이 됩니다.
4단계: 2진수 → 10진수 변환
text
코드 하이라이팅 중...