十六进制(Hex
)是hexadecimal
的缩写,十六进制是16
位计数系统。下表显示了16
个十六进制值:0
到F
,以及它们与其它进制数据的关系。
十六进制 | 二进制 | 十进制 |
---|---|---|
0x0 |
0000 |
0 |
0x1 |
0001 |
1 |
0x2 |
0010 |
2 |
0x3 |
0011 |
3 |
0x4 |
0100 |
4 |
0x5 |
0101 |
5 |
0x6 |
0110 |
6 |
0x7 |
0111 |
7 |
0x8 |
1000 |
8 |
0x9 |
1001 |
9 |
0xA |
1010 |
10 |
0xB |
1011 |
11 |
0xC |
1100 |
12 |
0xD |
1101 |
13 |
0xE |
1110 |
14 |
0xF |
1111 |
15 |
显示的十六进制值以0x
为前缀。0xF
之后的下一个十六进制值是:0x10
。
它是十进制值16
(基数10)。
对于二进制值10110100
,首先将其分成两个4
位半字节:1011 0100
。
然后代码将其转换为十六进制。只要使用%x
或%X
转换字符,C语言编程也会进行转换。
hema@ubuntu:~/book$ gcc -o main main.c
hema@ubuntu:~/book$ ./main
0000000000010101 0x0015 21
0000000000101010 0x002A 42
0000000001010100 0x0054 84
0000000010101000 0x00A8 168
0000000101010000 0x0150 336
0000001010100000 0x02A0 672
0000010101000000 0x0540 1344
0000101010000000 0x0A80 2688