數字系統(數碼系統)定義瞭如何用獨特的符號來表示一個數字。spa
數字系統分爲位置化數字系統和非位置化數字系統。blog
在位置化數字系統中,數字中符號所佔據的位置決定了其表示的值。ci
±(Sk-1Sk-2…S3S2S1S0.S-1S-2S-3…S-L)b;table
N=±Sk-1×bk-1+Sk-2×bk-2+…+S3×b3+S2×b2+S1×b1+S0×b0+S-1×b-1+S-2×b-2+S-3×b-3+…+S-L×b-L;二進制
其中:程序
權 | (值)2 | (值)10 |
20 | 1 | 1 |
21 | 10 | 2 |
22 | 100 | 4 |
23 | 1000 | 8 |
24 | 10000 | 16 |
25 | 100000 | 32 |
26 | 1000000 | 64 |
27 | 10000000 | 128 |
28 | 100000000 | 256 |
29 | 1000000000 | 512 |
210 | 10000000000 | 1024 |
進位計數制 | 形式表示 | 基數 | 符號集 | Example | Or Example |
十進制 | D | 10 | 0,1,2,3,4,5,6,7,8,9 | (123.12) 10 | (123.12)D |
二級制 | B | 2 | 0,1 | (1001.11)2 | (1001.11)B |
八進制 | O | 8 | 0,1,2,3,4,5,6,7 | (156.23) 8 | (156.23)O |
十六進制 | H | 16 | 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F | (A2C.A1)16 | (A2C.A1)H |
十進制 | 二進制 | 八進制 | 十六進制 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
數字 15 在十進制中使用2個數碼,在二進制中使用4個數碼,在八進制中使用2個數碼,在十六進制中僅僅使用1個數碼;十六進制表示法顯然是最短的。即在採用不一樣的數製表示同一個數時,基數越大,則使用的位數越小。因此在程序的書寫中,通常採用八進制或十六進制表示數據。im
將R進制數按權展開求和便可等到相應的十進制數。數據
Example:將這三個數轉換爲十進制數值。margin
(10110)B = (1×24+0×23+1×22+1×21+0×20)Dimg
= (16+0+4+2+0)D
= (22)D
(234)O = (2×82+3×81+4×80)D
= (128+24+4)D
= (156)D
(234)H = (2×162+3×161+4×160)D
= (512+48+4)D
= (564)D
整數部分:
將十進制整數轉換爲R進制數,採用「除R取餘法」,即將十進制整數連續地除以R取餘數,直到商爲0。將最後一個餘數最爲R進制數的第一位,將卻是第二個餘數做爲R進制數的第二位,依次類推獲得R進制數的整數部分。
小數部分:
小數部分的轉換採用「乘R取整法」,即將十進制小數部分不斷乘以R取整,直到小數部分爲0或達到要求的精度(當小數部分永遠不會達到0時)。取得的整數的排列次序與取得順序一致,即首次取得的整數做爲R進制數小數部分的第一位,最後一次取得的整數做爲R進制數小數部分的最後一位。
Example1:
(225.8125)D → 二進制數
因此 (225.8125)D = (11100001.1101)B
Example2:
將十進制數225.15轉換八進制數。
因此(225.15)D = (341.114)O。
計算及內部數據的表示和運算很是適合二進制,但位數過長 。因此在書寫程序和數據時,常常採用八進制或十六進制,這兩種進位計數制相比於二進制位數要簡短得多。
八進制與十六進制之間的轉換依賴於二進制、八進制、十六進制之間的特殊關係。
81 = 23; 1位八進制數至關於3位二進制數。
161 = 24; 1位十六進制數至關於4位二進制數。
八進制數 | 對應二進制數 | 十六進制數 | 對應二進制數 | 十六進制數 | 對應二進制數 |
0 | 000 | 0 | 0000 | 8 | 1000 |
1 | 001 | 1 | 0001 | 9 | 1001 |
2 | 010 | 2 | 0010 | A | 1010 |
3 | 011 | 3 | 0011 | B | 1011 |
4 | 100 | 4 | 0100 | C | 1100 |
5 | 101 | 5 | 0101 | D | 1101 |
6 | 110 | 6 | 0110 | E | 1110 |
7 | 111 | 7 | 0111 | F | 1111 |
根據這種對應關係。
將二進制轉換爲八進制時,從小數點開始分別向左右兩邊分組,每3位爲一組,兩頭不足3位補0。再分別進行轉換。
將二進制轉換爲十六進制時,從小數點開始分別向左右兩邊分組,每4位爲一組,兩頭不足4位補0。再分別進行轉換。
Example1:將二進制數(10101011.110101)B分別轉換爲八進制數和十六進制數。
(10101011.110101)B = (010 101 011 • 110 101)B = (253.65)O {010=2,101=5,011=3,110=6,101=5};
(10101011.110101)B = (1010 1011 • 1101 0100)B = (AB.D4)H {1010=A,1011=B,1101D,0100=4};
一樣的,將八進制數或十六進制數轉換爲二進制數,將八進制數的1位轉換爲二進制數的3位,將十六進制數的1位轉換爲二進制數的4位便可。
八進制數與十六進制數之間的轉換將二進制數做爲中間量來完成。
如羅馬數字
1-Ⅰ、2-Ⅱ、3-Ⅲ、4-Ⅳ、5-Ⅴ、6-Ⅵ、7-Ⅶ、8-Ⅷ、9-Ⅸ。
10-Ⅹ、11-Ⅺ、12-Ⅻ、13-XIII、14-XIV、15-XV、16-XVI、17-XVII、18-XVIII、19-XIX、20-XX