누구나 쉽게 배우는 진수 - 5장. 16진수(Hexadecimal) 이해하기
2025. 3. 28. 16:51ㆍ소프트웨어/기초
📘 5장. 16진수(Hexadecimal) 이해하기
📌 16진수란?
16진수(Hexadecimal)는 기수(Base)가 16인 숫자 체계로,
숫자 0부터 9, 그리고 알파벳 A부터 F까지 총 16개의 기호를 사용합니다.
구분 | 내용 |
기수(Base) | 16 |
사용 기호 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
문자 | 값 | 문자 | 값 | 문자 | 값 |
A | 10 | B | 11 | C | 12 |
D | 13 | E | 14 | F | 15 |
➡️ 컴퓨터에서 2진수를 간결하게 표현할 수 있기 때문에,
메모리 주소, 디버깅, 색상 코드 등에서 자주 사용됩니다.
🔁 진수 변환 방법
✅ 1) 10진수 → 16진수
방법: 16으로 나누고 나머지를 역순으로 읽습니다.
예: 10진수 254 → 16진수
단계 | 나눗셈 | 몫 | 나머지 | 기호 |
① | 254 ÷ 16 | 15 | 14 | E |
② | 15 ÷ 16 | 0 | 15 | F |
결과: FE₁₆
✅ 2) 16진수 → 10진수
방법: 각 자릿값 × 16의 거듭제곱을 더합니다.
예: FE₁₆ → 10진수
(15 × 16^1) + (14 × 16^0) = 240 + 14 = 254
✅ 3) 2진수 ↔ 16진수 (4비트 단위)
2진수 4자리 = 16진수 1자리
(2⁴ = 16이므로 완벽하게 대응됨)
2진수 | 16진수 | 2진수 | 16진수 |
0000 | 0 | 1000 | 8 |
0001 | 1 | 1001 | 9 |
0010 | 2 | 1010 | A |
0011 | 3 | 1011 | B |
0100 | 4 | 1100 | C |
0101 | 5 | 1101 | D |
0110 | 6 | 1110 | E |
0111 | 7 | 1111 | F |
🔄 변환 예시
🔹 2진수 → 16진수
예: 11011110₂ → ?
→ 4비트씩 나누기: 1101 1110
→ 각각 D, E
→ 결과: DE₁₆
🔹 16진수 → 2진수
예: 3C₁₆ → ?
→ 3 = 0011, C = 1100
→ 결과: 00111100₂
🧑💻 프로그래밍에서의 표기법
언어 | 예시 | 설명 |
Python | 0xFF | 0x 접두사 사용 |
JavaScript | 0x1A3F | ES6 이상 지원 |
C/C++ | 0xAB | 표준 표기법 |
✅ 대부분의 언어에서 16진수는 0x 접두사로 구분합니다.
🎨 실생활 활용 예시
✅ 1) 웹 색상 코드 (HTML/CSS)
<!-- 빨간색 (#FF0000) 배경 -->
<div style="background-color: #FF0000; color: white; padding: 5px;">
빨간색 (#FF0000)
</div>
- #FF0000 = 빨강(255), 초록(0), 파랑(0)
- RGB 색상 구성: #RRGGBB → 16진수로 각 색 표현
✅ 2) 메모리 주소
- 예: 0x7ffeefbff5c0
- 메모리 주소, 포인터, 디버깅 환경에서 메모리 위치를 16진수로 표현
✅ 3) 디버깅 및 네트워크 분석
- 바이너리 데이터, 패킷 정보, 시스템 로그 등을 16진수로 표시
- 예: 파일 헤더 0x89 0x50 0x4E 0x47 → PNG 파일
📝 연습문제
Q1. 10진수 255를 16진수로 변환하세요.
Q2. 16진수 1A를 10진수로 바꾸세요.
Q3. 2진수 10101111을 16진수로 바꾸세요.
✅ 정답
- Q1: 255 ÷ 16 = 15 (나머지 15) → FF₁₆
- Q2: (1 × 16^1) + (10 × 16^0) = 16 + 10 = 26
- Q3:
1010 1111 → A F → AF₁₆
✒️ 보너스 개념
🔹 1) 16진수 소수점 표현
예: A.F₁₆
= 10 + (15 × 16^-1) = 10 + 0.9375 = 10.9375
🔹 2) 16진수 음수 표현 (2의 보수법)
- 컴퓨터 내부에서는 2의 보수 방식으로 음수를 저장
- 예: -1 (1바이트)
표현 방식 | 값 |
10진수 | -1 |
2진수 | 11111111 |
16진수 | FF₁₆ |
🔹 3) 16진수 연산 예시
덧셈: A2 + 1F
A2₁₆ = 162, 1F₁₆ = 31162 + 31 = 193 → C1₁₆
뺄셈: 3C - 15
3C₁₆ = 60, 15₁₆ = 2160 - 21 = 27₁₆
📘 요약 정리
항목 | 설명 |
정의 | 0~9, A~F로 이루어진 기수 16의 수 체계 |
변환 방식 | 10진수 ↔ 16진수 / 2진수 ↔ 16진수 (4비트 단위) |
프로그래밍 표기법 | 0x 접두사 사용 |
실생활 활용 | 웹 색상, 메모리 주소, 디버깅, 파일 포맷 |
보너스 | 소수점 표현, 음수 표현(2의 보수), 연산 가능 |
'소프트웨어 > 기초' 카테고리의 다른 글
누구나 쉽게 배우는 진수 - 7장. 진수가 사용되는 실제 예시 (0) | 2025.03.28 |
---|---|
누구나 쉽게 배우는 진수 - 6장. 진수 간 변환 정리 (0) | 2025.03.28 |
누구나 쉽게 배우는 진수 - 4장. 8진수(Octal) 이해하기 (0) | 2025.03.28 |
누구나 쉽게 배우는 진수 - 3장. 2진수(Binary) 이해하기 (0) | 2025.03.28 |
누구나 쉽게 배우는 진수 - 2. 왜 다양한 진수가 필요할까요? (0) | 2025.03.28 |