16진수 (Hexadecimal)

코딩공통
읽는데 6분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-03-21
조회수: 421
선수학습(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자리와 정확히 대응합니다.