上篇讲了:二进制原理及与十进制对照表,本篇讲:除了二进制,编程中也经常使用八进制和十六进制。
八进制有0~7共8个数字,基数为8,逢八进一,借一当八;十六进制中,用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有0~F共16个数字,基数为16,逢16进1,借1当16。例如:
- 八进制 3072 = 3×83 + 0×82 + 7×81 + 2×80 = 1536 + 0 + 56 + 2 = 1594
- 十六进制 E3F9 = 14×163 + 3×162 + 15×161 + 9×160 = 57344 + 768 + 240 + 9 = 58361
十进制 | 二进制 | 八进制 | 十六进制 | 十进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 10 | 1010 | 12 | A |
1 | 1 | 1 | 1 | 11 | 1011 | 13 | B |
2 | 10 | 2 | 2 | 12 | 1100 | 14 | C |
3 | 11 | 3 | 3 | 13 | 1101 | 15 | D |
4 | 100 | 4 | 4 | 14 | 1110 | 16 | E |
5 | 101 | 5 | 5 | 15 | 1111 | 17 | F |
6 | 110 | 6 | 6 | 16 | 10000 | 20 | 10 |
7 | 111 | 7 | 7 | 17 | 10001 | 21 | 11 |
8 | 1000 | 10 | 8 | 18 | 10010 | 22 | 12 |
9 | 1001 | 11 | 9 | 19 | 10011 | 23 | 13 |
在C语言中,八进制通常以“0”开头(注意是数字 0,而不是字母 o),例如 0307;十六进制通常以“0x”或“0X”开头(不区分大小写),例如 0xE27 或 0X89F。
下面请看八进制和十六进制加法运算的两个例子。
这是选学内容,如果你只想了解八进制和十六进制,不希望深入研究它们的运算,请忽略这部分内容,不会影响后边的学习。
1) 八进制加法:0107 + 0274 = 0403
图1:八进制加法运算
2) 十六进制加法:0XA2B + 0X276 = 0XCA1
图2:十六进制加法运算
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。