除了二进制,编程中也经常使用八进制和十六进制。
八进制有0~7共8个数字,基数为8,逢八进一,借一当八;十六进制中,用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有0~F共16个数字,基数为16,逢16进1,借1当16。例如:
十进制 | 二进制 | 八进制 | 十六进制 | 十进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|---|---|---|---|
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
2) 十六进制加法:0XA2B + 0X276 = 0XCA1
如果你有兴趣了解不同进制之间是如何转换的,请猛击:进制之间的转换