八進位制和十六進位制

讓我們一起來學習一下計算機C語言八進位制和十六進位制的內容吧!

八進位制和十六進位制

八進位制有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

二進位制、八進位制、十進位制、十六進位制的對應關係
十進位制二進位制八進位制十六進位制十進位制二進位制八進位制十六進位制
000010101012A
111111101113B
2102212110014C
3113313110115D
41004414111016E
51015515111117F
61106616100002010
71117717100012111
8100010818100102212
9100111919100112313

在C語言中,八進位制通常以“0”開頭(注意是數字 0,而不是字母 o),例如 0307;十六進位制通常以“0x”或“0X”開頭(不區分大小寫),例如 0xE27 或 0X89F。

下面請看八進位制和十六進位制加法運算的'兩個例子。

這是選學內容,如果你只想瞭解八進位制和十六進位制,不希望深入研究它們的運算,請忽略這部分內容,不會影響後邊的學習。

1) 八進位制加法:0107 + 0274 = 0403

  圖1:八進位制加法運算

2) 十六進位制加法:0XA2B + 0X276 = 0XCA1

  圖2:十六進位制加法運算