16진수 (Hexadecimal)

코딩공통
읽는데 6분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-03-21
조회수:
선수학습(1개)

요약

16진수(0x) 표기법, 10진수·2진수 변환, 비트 연산 활용까지. 정보처리기사 실기에 출제되는 0xA5, 0xDB 같은 16진수 값을 단계별로 이해합니다.

16진수 핵심 정리

아래에서 하나씩 배울 내용을 미리 정리한 표입니다.

개념설명예시
16진수 숫자0 ~ 9, A(10) ~ F(15) 총 16개 사용0xA5
0x 접두사코드에서 16진수임을 표시int a = 0xFF;
16진수 1자리 = 4비트2진수 4자리를 1자리로 축약A = 1010
10진수 변환각 자리 × 자릿값(16의 거듭제곱)을 합산A5 = 10×16 + 5 = 165
비트 연산 활용비트 AND, OR 등에서 마스크 값으로 사용0xDB & 0xA5

16진수를 이해하려면 2진수(이진수) 개념이 필요합니다. 2진수를 아직 모르셔도 괜찮지만, 먼저 읽고 오시면 더 쉽게 이해할 수 있습니다.


16진수란? 쌩기초

16진수(Hexadecimal) 는 0부터 9와 A부터 F까지 16개의 숫자를 사용하는 숫자 체계입니다.

진법사용하는 숫자예시
2진수0, 11010 0101
10진수0 ~ 9165
16진수0 ~ 9, A ~ FA5
16진수 표
16진수는 10부터 15까지를 A, B, C, D, E, F로 표기합니다.

왜 16진수를 사용할까?

16진수는 이진수를 간결하게 표현할 수 있습니다. 16진수 1자리 = 2진수 4자리(4비트) 1 이기 때문입니다.

16진수2진수10진수
A101010
501015
A51010 0101165

8비트(1바이트)를 표현할 때, 2진수로는 8자리가 필요하지만 16진수로는 2자리면 충분합니다.


프로그래밍에서 16진수 표기 기초

C, Java, Python 모두 16진수는 0x 또는 0X 접두사를 붙여 표기합니다.

c
코드 하이라이팅 중...
java
코드 하이라이팅 중...
python
코드 하이라이팅 중...

16진수 → 10진수 변환 기초

16진수의 각 자리는 오른쪽부터 자릿값이 16배씩 커집니다. 10진수에서 일의 자리, 십의 자리, 백의 자리가 10배씩 커지는 것과 같은 원리입니다.

  • 오른쪽 첫째 자리: 1 (16의 0제곱)
  • 오른쪽 둘째 자리: 16 (16의 1제곱)
  • 오른쪽 셋째 자리: 256 (16의 2제곱)
text
코드 하이라이팅 중...
16진수 변환
0xA5를 10진수로 변환하면 165입니다. A(10) x 16 + 5 = 165

실기 출제 값

16진수계산10진수
0xA010×16 + 0×1160
0xA510×16 + 5×1165
0xDB13×16 + 11×1219
0xED14×16 + 13×1237
0x818×16 + 1×1129
0xFF15×16 + 15×1255

Java에서 16진수 변환하기

Java는 16진수 변환을 위한 내장 메서드를 제공합니다.

10진수 → 16진수

Integer.toHexString()은 10진수를 16진수 문자열로 변환합니다. 결과는 소문자로 출력됩니다.

java
코드 하이라이팅 중...

16진수 → 10진수

Integer.parseInt()에 두 번째 인자로 진법(16)을 지정하면 16진수 문자열을 10진수로 변환합니다. 대소문자를 구분하지 않습니다.

java
코드 하이라이팅 중...
메서드기능예시
Integer.toHexString(n)10진수 → 16진수 문자열Integer.toHexString(165)"a5"
Integer.parseInt(s, 16)16진수 문자열 → 10진수Integer.parseInt("A5", 16)165

비트 연산에서 16진수 활용 심화

실기 시험에서 16진수는 비트 AND 연산과 함께 출제된 바 있습니다.

c
코드 하이라이팅 중...

계산 과정

1단계: 16진수 → 10진수 변환

text
코드 하이라이팅 중...

2단계: 10진수 → 2진수 변환

2로 나누기 방법을 사용합니다.

text
코드 하이라이팅 중...
text
코드 하이라이팅 중...

3단계: 비트 AND 연산

text
코드 하이라이팅 중...

둘 다 1인 자리만 1이 됩니다. 비트 AND 연산에 대해 더 자세히 알고 싶다면 해당 페이지를 참고하세요.

4단계: 2진수 → 10진수 변환

text
코드 하이라이팅 중...

맨 왼쪽 1은 2의 7제곱(128), 맨 오른쪽 1은 2의 0제곱(1)입니다. 나머지 자리는 모두 0이므로 더하면 129가 됩니다.


정보처리기사 실기 대비 문제


Footnotes

  1. 비트(bit)는 0 또는 1 하나를 담는 컴퓨터의 최소 정보 단위입니다. 4비트는 0000부터 1111까지 16가지 조합이 가능하여 16진수 1자리와 정확히 대응합니다.


16진수 (Hexadecimal) | 정처기 감자