數制與二進制運算 — HKDSE ICT 免費筆記
數制與二進制運算出現在每一份 HKDSE ICT 試卷中 — 有時顯式(二進制運算在結構題中),有時隱式(MCQ 中的同位位元錯誤偵測)。這份速查表涵蓋你必須掌握的內容:轉換、二補數、算術運算、BCD、格雷碼,以及儲存量計算。
如果你能在不查看的情況下完成以下所有例題,你就能應付考試中的這個主題。
二進制 ↔ 十進制 ↔ 十六進制轉換
基礎
| 進制 | 名稱 | 數字 |
|---|---|---|
| 2 | 二進制 | 0, 1 |
| 10 | 十進制 | 0–9 |
| 16 | 十六進制 | 0–9, A–F |
十六進制數字 A–F:A=10, B=11, C=12, D=13, E=14, F=15
二進制 ↔ 十進制
二進制轉十進制 — 將每個位元乘以其位置值(從右到左的 2 的次方)。
例題:將 1101₂ 轉換為十進制
1 × 2³ = 8
1 × 2² = 4
0 × 2¹ = 0
1 × 2⁰ = 1
總和 = 8 + 4 + 0 + 1 = 13
十進制轉二進制 — 重複除以 2,從下到上收集餘數。
例題:將 25 轉換為二進制
25 ÷ 2 = 12 餘數 1
12 ÷ 2 = 6 餘數 0
6 ÷ 2 = 3 餘數 0
3 ÷ 2 = 1 餘數 1
1 ÷ 2 = 0 餘數 1
從下往上讀:11001₂
驗證:16 + 8 + 0 + 0 + 1 = 25 ✓
二進制 ↔ 十六進制
將二進制分組為 4 位元一組(如需要則補前導零)。將每組對應到十六進制數字。
| 十六進制 | 二進制 | 十六進制 | 二進制 |
|---|---|---|---|
| 0 | 0000 | 8 | 1000 |
| 1 | 0001 | 9 | 1001 |
| 2 | 0010 | A | 1010 |
| 3 | 0011 | B | 1011 |
| 4 | 0100 | C | 1100 |
| 5 | 0101 | D | 1101 |
| 6 | 0110 | E | 1110 |
| 7 | 0111 | F | 1111 |
例題:將 11010110₂ 轉換為十六進制
1101 0110
↓ ↓
D 6
結果:D6₁₆
例題:將 3F₁₆ 轉換為二進制
3 → 0011
F → 1111
結果:0011 1111₂
二補數有符號整數
二補數是電腦表示負數的方法。最高有效位元(MSB) 是符號位元:0 = 正數,1 = 負數。
4 位元二補數範圍
4 位元二補數數字可表示 −8 到 +7:
| 二進制 | 十進制 | 二進制 | 十進制 |
|---|---|---|---|
| 1000 | −8 | 0000 | 0 |
| 1001 | −7 | 0001 | 1 |
| 1010 | −6 | 0010 | 2 |
| 1011 | −5 | 0011 | 3 |
| 1100 | −4 | 0100 | 4 |
| 1101 | −3 | 0101 | 5 |
| 1110 | −2 | 0110 | 6 |
| 1111 | −1 | 0111 | 7 |
求二補數
要取反一個數字:將所有位元反轉,然後加 1。
例題:求 −5 的 8 位元二補數
步驟 1:寫下 +5 的二進制:0000 0101
步驟 2:反轉位元: 1111 1010
步驟 3:加 1: 1111 1011
結果:−5 = 1111 1011₂
遞增順序陷阱:在二補數中,二進制順序不會對應數值順序。對於 4 位元,1000₂(−8)小於 1111₂(−1),但 1000₂ > 1111₂ 的數值。不要像無符號數那樣排序有符號二進制數字。
二進制算術
加法
規則與十進制相同,以 2 為基底。當 1 + 1 = 10₂ 時產生進位。
| A | B | 和 | 進位 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
例題:將 1101₂(13)與 1011₂(11)相加
1101
+ 1011
------
11000₂
驗證:13 + 11 = 24 ✓
透過二補數進行減法
電腦透過加上負數來減法。A − B = A + (−B),其中 (−B) 是 B 的二補數。
例題:從 1010₂(10)減去 0101₂(5)
A = 1010₂ (10)
B = 0101₂ (5)
步驟 1:求 B 的二補數
0101 → 反轉 → 1010
1010 + 1 = 1011₂(這是 −5)
步驟 2:加 A + (−B)
1010 + 1011 = 10101₂
步驟 3:捨棄溢位進位(最左邊的位元)
101₂ = 5
驗證:10 − 5 = 5 ✓
溢位偵測
在固定寬度算術(例如 8 位元)中,結果可能無法容納。溢位發生在:
- 將兩個正數相加得到負數結果
- 將兩個負數相加得到正數結果
- 將正數 + 負數相加永不溢位
例題(4 位元):0100₂(+4)+ 0101₂(+5)= 1001₂(二補數中的 −7)
結果是負數,但兩個輸入都是正數 → 溢位。正確答案(+9)無法容納在 4 位元二補數中(範圍 −8 到 +7)。
BCD 和格雷碼
這些是替代的二進制表示方法,各有特定用途。
BCD(二進編碼十進制)
BCD 使用 4 位元分別編碼每個十進制數字。
| 十進制 | BCD | 十進制 | BCD |
|---|---|---|---|
| 0 | 0000 | 5 | 0101 |
| 1 | 0001 | 6 | 0110 |
| 2 | 0010 | 7 | 0111 |
| 3 | 0011 | 8 | 1000 |
| 4 | 0100 | 9 | 1001 |
例題:將 259 轉換為 BCD
2 → 0010
5 → 0101
9 → 1001
結果:0010 0101 1001 (BCD)
BCD 不等於純二進制:259₁₀ 在純二進制中是 100000011₂,但在 BCD 中是 0010 0101 1001。
何時考到:BCD 出現在關於金融系統或顯示器的問題中,這些地方需要精確的十進制表示(避免浮點數捨入誤差)。
格雷碼
格雷碼確保連續值之間只有一個位元改變。這可以防止硬體(編碼器、感測器)中出現短暫的無效狀態。
二進制 → 格雷碼:MSB 保持不變;每個後續位元 = 當前二進制位元與前一個二進制位元的 XOR。
例題:將 1011₂ 轉換為格雷碼
二進制: 1 0 1 1
格雷 MSB: 1(相同)
位元 2:1⊕0 = 1
位元 3:0⊕1 = 1
位元 4:1⊕1 = 0
結果:1110 (格雷碼)
何時考到:格雷碼出現在關於旋轉編碼器、卡諾圖或抗錯誤訊號傳輸的問題中。
儲存量問題
這類問題問:儲存 N 個不同值需要多少最小儲存空間?
公式
對於 N 個不同值,最小位元 n 滿足 2ⁿ ≥ N。
然後向上捨入到整數位元組(1 位元組 = 8 位元)。
舉例:RFID 標籤
題目:RFID 系統需要唯一識別 500 個物品。所需的最小儲存空間是多少?
步驟 1:找出最小位元數
2⁸ = 256(不夠)
2⁹ = 512(夠)
最小位元數 = 9
步驟 2:向上捨入到位元組
9 位元 ÷ 8 = 1.125 位元組
向上捨入 = 2 位元組
答案:最少 2 位元組(16 位元)。這可以表示 65,536 個唯一 ID — 遠超過所需的 500 個,但儲存空間以位元組為單位提供。
歷屆試題中的常見模式
像 DSE 2015 Paper 1 Q5(RFID 標籤儲存空間)這類題目測試這個確切公式:找出 2ⁿ ≥ N,然後向上捨入到位元組。
自我檢測題
測試自己。答案在下方的可折疊區塊中。
- 將
10110011₂轉換為十進制和十六進制。 - 求出 −42 的 8 位元二補數表示。
- 以二進制將
0110₂和0101₂相加。在 4 位元系統中會發生溢位嗎? - 將
38₁₀轉換為 BCD。 - 儲存 2000 個唯一值需要多少位元組?
點擊查看答案
- 十進制:
128 + 32 + 16 + 2 + 1 = 179| 十六進制:分組為1011 0011→B3₁₆ - −42 的 8 位元二補數:
+42 = 0010 1010→ 反轉 →1101 0101→ 加 1 →1101 0110₂ - 和:
0110 + 0101 = 1011₂(十進制 11)。無溢位 — 兩個輸入都是正數,結果也是正數。 - BCD:
3 → 0011,8 → 1000→0011 1000(BCD) - 所需位元組:
2¹⁰ = 1024(不夠),2¹¹ = 2048(夠)→ 11 位元 → 捨入為 2 位元組
想要完整筆記和更多練習?
這只是我們的 HKDSE ICT 筆記的樣本。完整版涵蓋每個課綱主題,配以例題、歷屆試題模式和應試技巧。
探索我們的完整 HKDSE ICT 筆記 — 為複習而建構,為應考而優化。
需要個人指導?預約試堂 — 我們會審查你的答案,糾正你的誤解,並為你建立有針對性的學習計劃。