歡迎來到進位制(Number Bases)的世界!

你有沒有想過,電腦本質上只是由數百萬個微小電子開關組成的集合,它們是如何向你展示高清電影或解決複雜的數學問題的呢?這一切都始於我們如何表示數據。在本章中,我們將深入探討進位制。雖然人類偏愛 10 進位(主要是因為我們有十根手指!),但電腦卻偏好更簡單的系統。

別擔心,如果你覺得數學有點嚇人,我們將把它拆解成容易消化的小步驟,並提供許多小技巧來協助你學習!

1. 什麼是進位制?

進位制(或稱基數,radix)就是指一個計數系統中可用的數字個數。它告訴你在需要「進位」到下一欄之前,你可以使用多少個不同的符號。

你需要知道的三種進位制:

  • 十進位(Base 10): 我們每天都在使用的系統。它使用 10 個數字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • 二進位(Base 2): 電腦的語言。它只使用 2 個數字:0 和 1
  • 十六進位(Base 16): 二進位的「速記法」。它使用 16 個符號:0-9 以及 A-F

你知道嗎? 電腦使用二進位是因為它能表示電的兩種狀態:開啟 (1)關閉 (0)。對硬體而言,區分「有電」與「沒電」比嘗試測量十種不同的電壓等級要容易得多!

重點總結:

進位制決定了你有多少個符號可用。Base 2 有兩個符號,Base 10 有十個,而 Base 16 有十六個。


2. 二進位(Base 2)

在二進位中,每一欄的數值都是其右邊那一欄的兩倍。我們將單個二進位數字稱為一個位元(bit)

二進位位值表

為了理解二進位,我們使用一個表格。我們總是從最右邊開始,數值為 1,然後每向左移動一欄就乘以 2:

\(128 | 64 | 32 | 16 | 8 | 4 | 2 | 1\)

如何將二進位轉換為十進位:

想像二進位數字是一排「電燈開關」。如果開關是 1,代表開啟(我們計算該數值)。如果它是 0,代表關閉(我們忽略它)。

範例:將 10101000 轉換為十進位

  1. 將數字放入表格中:
    \(128(1) + 64(0) + 32(1) + 16(0) + 8(1) + 4(0) + 2(0) + 1(0)\)
  2. 加總所有「開啟」的數值: \(128 + 32 + 8 = 168\)
  3. 答案: 168

快速回顧: 要從二進位轉換為十進位,只需將所有出現「1」的對應位值相加即可。


3. 十六進位(Base 16)

110101101011 這樣的二進位數字非常長,人類很難閱讀。十六進位(或稱 Hex)讓這些數字變得更短且更易於管理。

「字母」的問題

因為我們只有 0-9 這十個數字,十六進位需要更多的符號來表示 10, 11, 12, 13, 14 和 15。我們使用字母來表示:

  • A = 10
  • B = 11
  • C = 12
  • D = 13
  • E = 14
  • F = 15

記憶小撇步: 只需記住 A 是第一個「雙位數」數字 (10)。從那裡開始,你只需要用手指數下去即可!B=11,C=12,以此類推。

重點總結:

十六進位使用 0-9 和 A-F。程式設計師使用它來讓二進位更易於閱讀(例如:顏色代碼或 MAC 位址)。


4. 進位制之間的轉換

考試要求你能在這三個系統之間靈活轉換。以下是最簡單的方法。

A. 二進位轉十六進位(「4 位一組」技巧)

這是最重要的捷徑!一個十六進位數字精確代表四個位元(一個 nibble)。

  1. 右邊開始,將你的二進位數字每 4 位分為一組。
  2. 計算每一組的十進位數值(使用 8, 4, 2, 1)。
  3. 將任何大於 9 的數值轉換為對應的十六進位字母。

範例:將 11101011 轉換為十六進位

1. 分組: 1110 | 1011
2. 計算第一組 (1110): \(8+4+2+0 = 14\)。在十六進位中,14 是 E
3. 計算第二組 (1011): \(8+0+2+1 = 11\)。在十六進位中,11 是 B
4. 答案: EB

B. 十六進位轉二進位

只要將「4 位一組」技巧反過來做!取出每個十六進位數字,並將其轉換為 4 個位元。

範例:將 3F 轉換為二進位

1. 3 的二進位(使用 4 位元)是 0011
2. F (15) 的二進位是 1111
3. 答案: 00111111

C. 十進位轉二進位(「減法法」)

  1. 查看你的位值表: \(128, 64, 32, 16, 8, 4, 2, 1\)。
  2. 從左邊 (128) 開始。你可以從你的數字中減去 128 嗎?
  3. 如果可以:寫下 1 並減去該數值。
  4. 如果不可以:寫下 0 並移至下一欄。

常見錯誤: 學生經常忘記寫下 0。每一欄都必須填入 1 或 0!


5. 快速參考總結表

以下是前幾個數字之間的對照速查:

十進位 | 二進位 (4-bit) | 十六進位
0 | 0000 | 0
5 | 0101 | 5
9 | 1001 | 9
10 | 1010 | A
12 | 1100 | C
15 | 1111 | F


期末複習清單

  • 你能列出 Base 2 的位值嗎? (1, 2, 4, 8, 16...)
  • 你記得在十六進位中 A=10F=15 嗎?
  • 你能使用「4 位一組」規則在二進位和十六進位之間轉換嗎?
  • 你知道電腦是因為電晶體/開關而使用二進位的嗎?

別擔心,如果剛開始覺得很難,這是很正常的!就像學習一門新語言,你練習用二進位和十六進位「對話」的次數越多,它就會變得越自然。今天就試著把你自己的年齡或門牌號碼轉換成二進位吧!