3번째 줄: 3번째 줄:
== 설명 ==
== 설명 ==
전자기기는 [[비트]]를 기본 단위로 사용하나 사람이 인지하기 어렵기에 1[[바이트]]를 16진수 두자리로 표시하여 사용합니다.
전자기기는 [[비트]]를 기본 단위로 사용하나 사람이 인지하기 어렵기에 1[[바이트]]를 16진수 두자리로 표시하여 사용합니다.
[[10진수]] 0~15가 16진수의 한 자리에 해당하며, 10진수의 한 자리를 초과하는 10~15까지는 알파벳 A~F로 표현한다.


== 예시 ==
== 예시 ==

2025년 9월 29일 (월) 09:30 기준 최신판

십육진수(十六進數, hexadecimal number)란 16진법을 사용한 수체계이다. 0~9, A~F로 수를 표현한다.

설명[편집]

전자기기는 비트를 기본 단위로 사용하나 사람이 인지하기 어렵기에 1바이트를 16진수 두자리로 표시하여 사용합니다.

10진수 0~15가 16진수의 한 자리에 해당하며, 10진수의 한 자리를 초과하는 10~15까지는 알파벳 A~F로 표현한다.

예시[편집]

4 바이트부호 없는 정수 경우 8자리 16진수이며 사용하며 각각의 자리 수의 값은 아래와 같다.

7 6 5 4 3 2 1 0
16⁷ 16⁶ 16⁵ 16⁴ 16³ 16² 16¹ 16⁰
268435456 16777216 1048576 65536 4096 256 16 1

그러므로 예를들어 0x00000064라면 (4096*0)+(256*0)+(16*6)+(1*4)와 같으므로 100이다. 또 다른 예를들자면 0x9B78라면 (4096*9)+(256*11)+(16*7)+(1*8)과 같으므로 39800이다.

표현 방법[편집]

16진수 F E D C B A 9 8 7 6 5 4 3 2 1 0
10진수 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2진수 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000

숫자 0-9과 A-F를 이용해 나타낸다. C언어 등 고급 언어에서는 16진수 앞에 0x를 붙여 16진수임을 나타낸다. 어셈블리에서는 $를 붙인다.

2진수와의 변환[편집]

16진수 한자리는 2진수 네자리에 해당하기 때문에, 2진수를 16진수로 변환하려면 맨 뒤로부터 4자리씩 끊은 뒤 위 표를 참조하여 각각 16진수로 바꾸면 된다.

%1000111001000
→ 0001 0001 1100 1000
→ $11c8

반대로 16진수를 2진수로 변환하려면 각 자리를 2진수 4자리로 변환하고 이어붙이면 된다.

$d7a3
→ 1101 0111 1010 0011
→ %1101011110100011

관련 문서[편집]