除了二進制,編程中也經常使用八進制和十六進制。
八進制有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:十六進制加法運算
如果你有興趣了解不同進制之間是如何轉換的,請猛擊:進制之間的轉換