筆記樣本 閱讀時間 3 分鐘

數制與二進制運算 — 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 位元一組(如需要則補前導零)。將每組對應到十六進制數字。

十六進制二進制十六進制二進制
0000081000
1000191001
20010A1010
30011B1011
40100C1100
50101D1101
60110E1110
70111F1111

例題:將 11010110₂ 轉換為十六進制

1101 0110
↓    ↓
 D    6

結果:D6₁₆

例題:將 3F₁₆ 轉換為二進制

3 → 0011
F → 1111

結果:0011 1111₂

二補數有符號整數

二補數是電腦表示負數的方法。最高有效位元(MSB) 是符號位元:0 = 正數,1 = 負數。

4 位元二補數範圍

4 位元二補數數字可表示 −8 到 +7

二進制十進制二進制十進制
1000−800000
1001−700011
1010−600102
1011−500113
1100−401004
1101−301015
1110−201106
1111−101117

求二補數

要取反一個數字:將所有位元反轉,然後加 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₂ 時產生進位。

AB進位
0000
0110
1010
1101

例題:將 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
0000050101
1000160110
2001070111
3001181000
4010091001

例題:將 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,然後向上捨入到位元組。

自我檢測題

測試自己。答案在下方的可折疊區塊中。

  1. 10110011₂ 轉換為十進制和十六進制。
  2. 求出 −42 的 8 位元二補數表示。
  3. 以二進制將 0110₂0101₂ 相加。在 4 位元系統中會發生溢位嗎?
  4. 38₁₀ 轉換為 BCD。
  5. 儲存 2000 個唯一值需要多少位元組?
點擊查看答案
  1. 十進制128 + 32 + 16 + 2 + 1 = 179 | 十六進制:分組為 1011 0011B3₁₆
  2. −42 的 8 位元二補數+42 = 0010 1010 → 反轉 → 1101 0101 → 加 1 → 1101 0110₂
  3. 0110 + 0101 = 1011₂(十進制 11)。無溢位 — 兩個輸入都是正數,結果也是正數。
  4. BCD3 → 00118 → 10000011 1000 (BCD)
  5. 所需位元組2¹⁰ = 1024(不夠),2¹¹ = 2048(夠)→ 11 位元 → 捨入為 2 位元組

想要完整筆記和更多練習?

這只是我們的 HKDSE ICT 筆記的樣本。完整版涵蓋每個課綱主題,配以例題、歷屆試題模式和應試技巧。

探索我們的完整 HKDSE ICT 筆記 — 為複習而建構,為應考而優化。

需要個人指導?預約試堂 — 我們會審查你的答案,糾正你的誤解,並為你建立有針對性的學習計劃。

← 全部文章

報讀課堂索取完整筆記

💬 查詢