歡迎來到數字進位制!

你有沒有想過,電腦明明只是一堆電子電路,卻能讓你觀看高清電影或暢玩心愛的遊戲?這一切都要歸功於數字進位制 (Number Bases)。在這一章中,我們將探討電腦科學中表示數字的三種主要方式:十進位 (Decimal)二進位 (Binary)十六進位 (Hexadecimal)

如果剛開始覺得這些內容「數學味」很重,不用擔心!一旦掌握了其中的規律,這就像破解密碼一樣有趣!


1. 三種主要的進位制

「進位制」(Base)其實就是指計數系統中可用的數字有多少個。針對 AQA 8525 課程大綱,你需要掌握以下三種:

十進位 (Decimal, Base 10)

這是你從小學用到大的系統。它使用十個數字:0, 1, 2, 3, 4, 5, 6, 7, 8 和 9
類比:想像你的十根手指頭!我們數到九,當進到十的時候,就移到新的「位值」(place value) 欄位。

二進位 (Binary, Base 2)

這是電腦的「母語」。它只使用兩個數字:0 和 1
你知道嗎? 電腦之所以使用二進位,是因為它們由數十億個稱為「電晶體」(transistor) 的微小開關組成。一個開關只能處於 關閉 (0)開啟 (1) 的狀態。

十六進位 (Hexadecimal, Base 16)

這個系統使用十六個數字。因為數字 9 之後就沒有單獨的阿拉伯數字了,所以我們借用了字母!
數字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
在十六進位中,A = 10, B = 11, C = 12, D = 13, E = 14, F = 15

快速複習:
十進位: Base 10 (0-9)
二進位: Base 2 (0-1)
十六進位: Base 16 (0-F)


2. 我們為什麼要用十六進位?

如果電腦是用二進位「思考」的,為什麼人類還要大費周章使用十六進位?想像一下閱讀這串數字:1011101011010001。這很容易看錯吧!

我們使用十六進位的原因是:
1. 它比長串的二進位更簡短,人類更容易閱讀。
2. 在複製數值時,出錯的機率更低
3. 在二進位與十六進位之間轉換非常容易(因為 1 個十六進位數字剛好代表 4 個位元/bits)。

現實應用:你會在 HTML 顏色代碼(例如 #FF5733)或手機的 MAC 位址中看到十六進位代碼。


3. 二進位轉十進位

要將二進位轉為十進位,我們使用位值表。在二進位中,每向左移動一位,數值就會加倍。

步驟教學:將 10101100 轉為十進位

1. 畫一個 8 欄的表格,從右邊開始寫 1,然後每向左移一欄就乘以 2:

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

2. 把你的二進位數字填入表格:
\( 128(1) | 64(0) | 32(1) | 16(0) | 8(1) | 4(1) | 0(0) | 0(0) \)

3. 將所有下方對應數值為 1 的數字加起來:
\( 128 + 32 + 8 + 4 = 172 \)

關鍵點: 如果該欄位是 1,就把該數值「開啟」並加入總和中!


4. 十進位轉二進位

轉換方法有幾種,但「減法法」(Subtraction Method) 通常是最簡單的。

步驟教學:將 75 轉為二進位

1. 準備好位值表:\( 128, 64, 32, 16, 8, 4, 2, 1 \)。
2. 從左邊開始 (128)。128 能放入 75 嗎?不能(寫 0)。
3. 64 能放入 75 嗎?能!(寫 1)。進行減法:\( 75 - 64 = 11 \)。
4. 32 能放入 11 嗎?不能(寫 0)。
5. 16 能放入 11 嗎?不能(寫 0)。
6. 8 能放入 11 嗎?能!(寫 1)。進行減法:\( 11 - 8 = 3 \)。
7. 4 能放入 3 嗎?不能(寫 0)。
8. 2 能放入 3 嗎?能!(寫 1)。進行減法:\( 3 - 2 = 1 \)。
9. 1 能放入 1 嗎?能!(寫 1)。
結果:01001011

常見錯誤: 如果題目要求,請務必確保你的二進位數字包含 8 個位元(一個位元組/byte),即便前面有補零也要寫出來!


5. 二進位與十六進位互轉

這是電腦科學中的「魔術」。因為 \( 2^4 = 16 \),所以剛好四個二進位位元(稱為 nibble)可以對應到一個十六進位數字

步驟教學:二進位轉十六進位(範例:10110110)

1. 將 8 位元的數字分成兩個 4 位元的 nibble:10110110
2. 計算第一個 nibble 的十進位值 (8-4-2-1):\( 8+2+1 = 11 \)。
3. 將 11 轉為十六進位:\( 11 = B \)。
4. 計算第二個 nibble:\( 4+2 = 6 \)。
5. 將結果合併:B6

步驟教學:十六進位轉二進位(範例:2F)

1. 取第一個數字 (2),轉為 4 位元的二進位:0010
2. 取第二個數字 (F),記得 \( F = 15 \)。將 15 轉為 4 位元的二進位:1111
3. 將結果合併:00101111

記憶小幫手: 對每個 nibble 都使用 8-4-2-1 規則即可!


6. 最大值總結表

AQA 課程大綱要求你熟練掌握 0 到 255 之間的數值。以下是這些數字在不同進位制下的樣子:

十進位: 255
二進位: 1111 1111(八個 1)
十六進位: FF

如果剛開始覺得有點複雜,別擔心!最好的學習方法就是畫出 128-64-32-16-8-4-2-1 表格,試著用你的年齡、門牌號碼或幸運數字練習轉換看看。

最終「快速複習」箱:
Bit (位元): 單一個 0 或 1。
Nibble: 4 個 bit(1 個十六進位數字)。
Byte (位元組): 8 個 bit(2 個十六進位數字)。
十進位轉十六進位: 最簡單的方法通常是先轉成二進位,再轉成十六進位。