歡迎來到數字進位制的世界!

你有沒有想過,電腦本質上只是一堆細小的開關,它是如何理解像電子遊戲或功課這些複雜事物的呢?這一切都源於它如何計算。雖然我們用十隻手指來數數(十進制 Decimal),但電腦使用的是電力——不是「開」就是「關」(二進制 Binary)。在本指南中,我們將學習如何在人類的數字語言和電腦的語言之間進行轉換。

如果起初覺得這些數學看起來很複雜,別擔心!其實這更像是學習一種簡單的代碼。只要掌握了每種進位制的「密碼鎖」,你很快就能像專家一樣進行數字轉換了。

1. 基礎知識:我們必須知道的三種進位制

在開始轉換之前,讓我們先認識一下你在 AQA 考試中需要掌握的三種系統:

十進制(Base 10):這是我們每天都在用的。它使用 \(0\) 到 \(9\) 的數字。
二進制(Base 2):電腦的母語。它只使用 \(0\) 和 \(1\)。
十六進制(Base 16):二進制的「速記法」。它使用 \(0\) 到 \(9\),以及字母 A, B, C, D, E,F

快速複習:為什麼我們要用十六進制?試想一下,如果只用 \(0\) 和 \(1\) 來寫一個長電話號碼,那會花上超多時間!十六進制之所以被程式設計師使用,是因為它比長長的二進制串列簡短得多,也更容易讓人類閱讀。

2. 二進制轉十進制

要將二進制轉換為十進制,我們使用簡單的位值表。由於我們處理的是高達 \(255\) 的數字,我們通常使用 \(8\) 個位元(一個位元組 Byte)。二進制中每個位置的值都是其右側位置的兩倍。

分步計算方法:

1. 畫一個表格,填入這八個數字:128, 64, 32, 16, 8, 4, 2, 1
2. 將你的二進制數字寫在表格下方。
3. 將頂部一行中,對應下方有 \(1\) 的所有數字相加。

例子:將 \(10101000\) 轉換為十進制。
\(128\) (有) + \(64\) (無) + \(32\) (有) + \(16\) (無) + \(8\) (有) + \(4\) (無) + \(2\) (無) + \(1\) (無)
計算:\(128 + 32 + 8 = 168\)。
答案:\(168\)

關鍵要點:如果該位是 \(1\),代表「電燈開關」已打開——請加上那個數值!如果該位是 \(0\),就跳過它。

3. 十進制轉二進制

這只是上述方法的反向操作!我們稱之為「相減並移動」法。

分步計算方法:

1. 從你的十進制數字開始。
2. 觀察你的位值表(從 \(128\) 開始)。
3. 你能否從當前數字中減去表格數值?
• 如果 YES(可以):在該欄位填 \(1\),並減去該數值。
• 如果 NO(不可以):在該欄位填 \(0\),然後移到下一個數字。

例子:將 \(75\) 轉換為二進制。
• 能否從 \(75\) 中減去 \(128\)?不能 (\(0\))
• 能否從 \(75\) 中減去 \(64\)?能 (\(1\))。餘數:\(75 - 64 = 11\)
• 能否從 \(11\) 中減去 \(32\)?不能 (\(0\))
• 能否從 \(11\) 中減去 \(16\)?不能 (\(0\))
• 能否從 \(11\) 中減去 \(8\)?能 (\(1\))。餘數:\(11 - 8 = 3\)
• 能否從 \(3\) 中減去 \(4\)?不能 (\(0\))
• 能否從 \(3\) 中減去 \(2\)?能 (\(1\))。餘數:\(3 - 2 = 1\)
• 能否從 \(1\) 中減去 \(1\)?能 (\(1\))。餘數:\(0\)
答案:\(01001011\)

常見錯誤:學生常常會過早停下來。即使你已經減到 \(0\),也要確保填滿剩下的表格欄位,直到補齊 \(8\) 個位元為止!

4. 理解十六進制 (Base 16)

十六進制有點特別,因為數字從 \(9\) 之後就沒了。為了將每個數值保持為一個字元,我們引入了字母:

A = \(10\), B = \(11\), C = \(12\), D = \(13\), E = \(14\), F = \(15\)

記憶小撇步:記住 A 是第一個字母,而 \(10\) 是第一個雙位數。以此類推,你可以直接用手指數出來!

5. 二進制轉十六進制(「半位元組」技巧)

這是最簡單的轉換!「半位元組 (Nibble)」就是半個位元組(即 \(4\) 個位元)。

分步計算方法:

1. 將你的 \(8\) 位元二進制數分成兩組,每組 \(4\) 個。
2. 分別計算每組的十進制值(使用 \(8, 4, 2, 1\) 的位值)。
3. 將這些數值轉換為十六進制(如果數值為 \(10\) 或以上,請使用字母)。
4. 將兩個字元合在一起。

例子:將 \(11100011\) 轉換為十六進制。
• 左半邊:\(1110\)。(\(8+4+2 = 14\))。在十六進制中,\(14\) 是 E
• 右半邊:\(0011\)。(\(2+1 = 3\))。在十六進制中,\(3\) 是 3
答案:E3

你知道嗎? \(8\) 位元數字的最大值在十進制中是 \(255\),二進制寫為 \(11111111\),在十六進制中則寫為 FF

6. 十六進制轉十進制

要從十六進制轉為十進制,我們觀察那兩個字元。第一個字元處於「\(16\) 位」,第二個字元處於「\(1\) 位」。

分步計算方法:

1. 將第一個十六進制數字轉換為十進制值,並乘以 \(16\)。
2. 將第二個十六進制數字轉換為十進制值。
3. 將這兩個數字相加。

例子:將 \(2A\) 轉換為十進制。
• 第一位是 \(2\)。乘以 \(16\):\(2 \times 16 = 32\)。
• 第二位是 A。在十進制中,A 是 \(10\)。
• 相加:\(32 + 10 = 42\)。
答案:\(42\)

替代方法:如果乘以 \(16\) 比較困難,你可以使用「橋樑法」:先將十六進制轉為二進制(使用半位元組技巧),再將該二進制轉為十進制。這雖然多了一步,但往往更不容易出錯!

7. 快速複習清單

最大值:十進制 \(255\) = 二進制 \(11111111\) = 十六進制 FF
二進制欄位:\(128, 64, 32, 16, 8, 4, 2, 1\)。
十六進制字母:A(\(10\)) 到 F(\(15\))。
半位元組 (Nibble):要在二進制和十六進制之間轉換,請將位元組分成兩組 \(4\) 個位元。
精確度:務必確保你的二進制數字有 \(8\) 位(開頭的 \(0\) 很重要!)。

最終總結

在不同進位制之間進行轉換,只需要遵循正確的地圖即可。無論你是使用二進制的位值表,還是將位元組拆分為半位元組來處理十六進制,步驟始終是一樣的。先從小數字開始練習,很快你就能像看自己的名字一樣輕鬆讀懂這些「密碼」了!你一定沒問題的!