歡迎來到二進制的世界!
哈囉,未來的電腦科學家!準備好迎接這個定義電腦運作邏輯的章節了嗎?這就是「二進制」(Binary)章節,它是我們研究數據(Data)的核心基礎。
為什麼這很重要呢?因為電腦處理的一切——無論是你的照片、遊戲還是文檔——最終都是以龐大的電信號序列來儲存和理解的:即「開」(ON)或「關」(OFF)。我們使用兩個數位來代表這些訊號:0 和 1。這種雙數位語言就稱為二進制。
別擔心,如果起初覺得轉換有些困難,我們會用簡單的步驟和有趣的記憶法幫你拆解。讓我們開始吧!
1. 理解數系:十進制與二進制
我們熟悉的系統:十進制(Base 10)
我們每天都在使用十進制系統。它被稱為十進制是因為我們使用了十個不同的數字(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)。
數字的值取決於其位值(place value),這基於 10 的冪次方。
例子:數字 457
- 7 在個位(Units)欄位(\(10^0 = 1\))
- 5 在十位(Tens)欄位(\(10^1 = 10\))
- 4 在百位(Hundreds)欄位(\(10^2 = 100\))
電腦的語言:二進制(Base 2)
二進制是計算機的骨幹。它是二進制系統,因為它只使用兩個數字:0 和 1。
- 0 通常代表電信號為關閉(Off)或假(False)。
- 1 通常代表電信號為開啟(On)或真(True)。
類比:將二進制想像成一排簡單的電燈開關。每個開關只能是「開」(1)或「關」(0)。如果你有 8 個開關,你就有了 8 個儲存資訊的位置!
二進制的位值基於 2 的冪次方。我們通常使用 8 個開關,這意味著我們處理的是8位元二進制數(8-bit binary numbers)。
重點總結: 十進制使用 10 的冪次方;二進制使用 2 的冪次方(只有 0 和 1)。
2. 二進制與十進制的相互轉換
二進制位值表(魔法數字)
這張表格是你最重要的工具。你必須記住這些數字!它們是 2 的冪次方,從右邊的 \(2^0\) 開始,每向左移動一位數值就加倍。
8位元二進制位值
\(\begin{array}{|c|c|c|c|c|c|c|c|}\n \hline\n 2^7 & 2^6 & 2^5 & 2^4 & 2^3 & 2^2 & 2^1 & 2^0 \\\n \hline\n \mathbf{128} & \mathbf{64} & \mathbf{32} & \mathbf{16} & \mathbf{8} & \mathbf{4} & \mathbf{2} & \mathbf{1} \\\n \hline\n \end{array}\)
步驟拆解 2.1:二進制轉十進制(Base 2 轉 Base 10)
這是較簡單的轉換。只需將出現 1 的對應位值加總即可。
例子:將二進制數字 10110010 轉換為十進制。
步驟 1:畫出表格並將二進制數字寫在下方。
\(\begin{array}{|c|c|c|c|c|c|c|c|}\n \hline\n 128 & 64 & 32 & 16 & 8 & 4 & 2 & 1 \\\n \hline\n \mathbf{1} & \mathbf{0} & \mathbf{1} & \mathbf{1} & \mathbf{0} & \mathbf{0} & \mathbf{1} & \mathbf{0} \\\n \hline\n \end{array}\)
步驟 2:圈出數字為 1 的位值。
數值為 1 的欄位分別是:128、32、16 和 2。
步驟 3:將圈出的值加總。
\(128 + 32 + 16 + 2 = 178\)
答案:二進制數字 10110010 在十進制中為 178。
記憶小貼士: 如果看到 0,直接忽略它上方的數字!只有 1 才算數!
步驟拆解 2.2:十進制轉二進制(Base 10 轉 Base 2)
對於這種轉換,我們使用「減法技術」。我們嘗試將最大的可能位值放入十進制數字中。
例子:將十進制數字 155 轉換為二進制。
步驟 1:畫出空白的 8 位元表格。
\(\begin{array}{|c|c|c|c|c|c|c|c|}\n \hline\n 128 & 64 & 32 & 16 & 8 & 4 & 2 & 1 \\\n \hline\n & & & & & & & \\\n \hline\n \end{array}\)
步驟 2:從左邊(128)開始,問自己:128 能放入 155 嗎?
- 可以。在 128 的欄位填入 1。
- 相減:\(155 - 128 = 27\)。 (27 是你的新目標數字)。
步驟 3:移動到下一個欄位(64)。64 能放入剩餘的 27 嗎?
- 不能。在 64 的欄位填入 0。
- 剩餘目標仍為 27。
步驟 4:繼續檢查剩餘的欄位(32, 16, 8, 4, 2, 1)對應剩餘數值的情況。
- 32 入 27?不行(0)。目標維持 27。
- 16 入 27?可以(1)。相減:\(27 - 16 = 11\)。新目標為 11。
- 8 入 11?可以(1)。相減:\(11 - 8 = 3\)。新目標為 3。
- 4 入 3?不行(0)。目標維持 3。
- 2 入 3?可以(1)。相減:\(3 - 2 = 1\)。新目標為 1。
- 1 入 1?可以(1)。相減:\(1 - 1 = 0\)。最終目標為 0。
步驟 5:寫出最終二進制結果(從左至右讀取底部那一行)。
\(\begin{array}{|c|c|c|c|c|c|c|c|}\n \hline\n 128 & 64 & 32 & 16 & 8 & 4 & 2 & 1 \\\n \hline\n \mathbf{1} & \mathbf{0} & \mathbf{0} & \mathbf{1} & \mathbf{1} & \mathbf{0} & \mathbf{1} & \mathbf{1} \\\n \hline\n \end{array}\)
答案:十進制數字 155 在二進制中為 10011011。
常見錯誤: 永遠記得包含零(佔位符)!如果你漏掉一個佔位符(例如上面 64 和 32 欄位的 0),你的答案將會完全錯誤。一個 8 位元數字必須永遠有 8 個位數!
重點總結: 二進制轉換完全依賴於位值表(128, 64, 32, 16, 8, 4, 2, 1)。熟能生巧!
3. 測量數位數據
由於電腦處理大量的 0 和 1,我們需要標準單位來衡量數位儲存容量,就像我們用公升測量液體或用公斤測量重量一樣。
3.1. 最小單位
位元(Bit, b)
位元(Bit)是數據的最小單位。它是 Binary Digit 的縮寫。
- 一個位元只能儲存一個值:0 或 1。
- 單獨一個位元通常無法代表任何有意義的資訊。
半字節(Nibble,有時稱為四位元組)
半字節(Nibble)是 4 個位元的組合。
- \(1 \text{ Nibble} = 4 \text{ bits}\)。
字節(Byte, B)
字節(Byte)是儲存的基本單位,對於代表字元(如字母 'A' 或數字 '7')至關重要。
- 一個字節是 8 位元。
- 單個文字字元通常佔用 1 字節的記憶體(例如在 ASCII 編碼中)。
你知道嗎? 使用 8 位元(1 字節),我們可以代表 \(2^8 = 256\) 種唯一的數字或字元(從 0 到 255)。
3.2. 更大的單位與 1024 的威力
在十進制世界中,「Kilo」代表 1,000(例如:1 公里 = 1,000 公尺)。然而,因為電腦使用二進制系統,它們的測量基於 2 的冪次方。最接近 1,000 的 2 的冪次方是 1,024 (\(2^{10}\))。
因此,隨後的單位都是以 1,024 倍遞增,而不是 1,000。
數據測量單位
| 單位 | 縮寫 | 關係(近似) | 關係(精確) |
| 位元 (Bit) | b | N/A | 二進位數字 (0 或 1) |
| 字節 (Byte) | B | N/A | 8 位元 |
| 千字節 (Kilobyte) | KB | 約 1 千字節 | \(1,024\) Bytes |
| 百萬字節 (Megabyte) | MB | 約 1 百萬字節 | \(1,024\) KBs |
| 十億字節 (Gigabyte) | GB | 約 1 十億字節 | \(1,024\) MBs |
| 萬億字節 (Terabyte) | TB | 約 1 萬億字節 | \(1,024\) GBs |
使用例子:一首普通的 MP3 歌曲可能是 4 MB。一個大型硬碟可能擁有 1 TB 的儲存空間。
關鍵區別: 在描述速度(例如:每秒多少 Megabits, Mb/s)與儲存容量(例如:Megabytes, MB)時,請務必分清小寫 'b'(bit)和大寫 'B'(Byte)。
重點總結: 8 位元構成 1 字節。所有更大的單位(KB, MB, GB, TB)都是透過將前一個單位乘以 1,024 而得出的。
最終回顧:二進制基礎
恭喜!你已經掌握了電腦如何儲存和解釋數字數據的基礎知識。這些基礎知識對於理解之後更複雜的數據表示方式至關重要。
快速檢查清單
- 十進制是 Base 10(數字 0-9)。
- 二進制是 Base 2(數字 0 和 1)。
- 轉換的關鍵是8位元位值表:128, 64, 32, 16, 8, 4, 2, 1。
- 位元 (b) 是最小單位。
- 字節 (B) 是 8 個位元。
- 儲存單位基於 1,024(而非 1,000)。
你已經完成了艱苦的工作,繼續練習那些轉換,你會發現二進制很快就會成為你的直覺!