【转载】八进制和十六进制
除了二进制,编程中也经常使用八进制和十六进制。八进制有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
http://c.biancheng.net/cpp/uploads/allimg/150302/1-1503020U952962.png
2) 十六进制加法:0XA2B + 0X276 = 0XCA1
http://c.biancheng.net/cpp/uploads/allimg/150302/1-1503020Z940a2.png
如果你有兴趣了解不同进制之间是如何转换的,请猛击:进制之间的转换 非常好的教程 给力非常好的教程 给力 进制的基础入门,对于初学者还是挺有用的
页:
[1]