当前位置:嗨网首页>书籍在线阅读

08-十六进制

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

15.2.2 十六进制

十六进制(hexadecimal或hex)是指十六进制记数系统。该系统基于16的幂,用0~15表示数字。但是,由于没有单独的数(digit,即0~9这样单独一位的数)表示10~15,所以用字母 AF 来表示。例如,十六进制数 A3F (在C中写作 0xA3F )表示为:

10×162 +3×161+ 15×160 = 2623(十进制)

由于 A 表示 10F 表示 15 。在C语言中, AF 既可用小写也可用大写。因此,2623也可写作 0xa3f

每个十六进制位都对应一个4位的二进制数(即4个二进制位),那么两个十六进制位恰好对应一个8位字节。第1个十六进制表示前4位,第2个十六进制位表示后4位。因此,十六进制很适合表示字节值。

表15.2列出了各进制之间的对应关系。例如,十六进制值 0xC2 可转换为11000010。相反,二进制值11010101可以看作是1101 0101,可转换为 0xD5

表15.2 十进制、十六进制和等价的二进制

| 十进制 | 十六进制 | 等价二进制 | | :----- | :----- | :----- | :----- | :----- | | 0 | 0 | 0000 | | 1 | 1 | 0001 | | 2 | 2 | 0010 | | 3 | 3 | 0011 | | 4 | 4 | 0100 | | 5 | 5 | 0101 | | 6 | 6 | 0110 | | 7 | 7 | 0111 | | 8 | 8 | 1000 | | 9 | 9 | 1001 | | 10 | A | 1010 | | 11 | B | 1011 | | 12 | C | 1100 | | 13 | D | 1101 | | 14 | E | 1110 | | 15 | F | 1111 |

介绍了位和字节的相关内容,接下来我们研究C用位和字节进行哪些操作。C有两个操控位的工具。第1个工具是一套(6个)作用于位的按位运算符。第2个工具是字段(field)数据形式,用于访问 int 中的位。下面将简要介绍这些C的特性。