십육진수(十六進數, hexadecimal number)란 16진법을 사용한 수체계이다. 0~9, A~F로 수를 표현한다.
설명
전자기기는 비트를 기본 단위로 사용하나 사람이 인지하기 어렵기에 1 바이트를 16진수로 표시하여 사용합니다.
예시
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진수임을 나타낸다. 어셈블리에서는 $를 붙인다.