學習筆記:資料表示法 - 資訊單位(教學大綱 3.5.2)
各位未來的電腦科學家好!這一章節非常重要,因為它教導了電腦內部的衡量語言。你可以把它想像成學習數位資料的「公制單位」。電腦所做的一切——從執行複雜的演算法到儲存一張簡單的照片——都是建立在這些基本單位之上的。讓我們一起深入探索這些核心構件吧!
1. 基本單位:位元 (Bit) 與 位元組 (Byte)
在數位世界中,資料是由流經電路的電流來表示的。這些電路只能處於兩種狀態之一:開啟 (on) 或關閉 (off)。
位元 (Bit,Binary Digit,二進位數字)
- 位元 (bit) 是資訊的最小、最基本的單位。
- 它只能儲存兩種數值之一:0 (關閉/偽) 或 1 (開啟/真)。
- 類比:就像一個電燈開關,它只有「開」或「關」兩種狀態。
位元組 (Byte)
- 一個 位元組 (byte) 是由 8 個位元 組成的群組。
- 位元組是電腦用來儲存單一字元(例如字母 'A' 或數字 '5')的標準單位。
- 由於 1 Byte = 8 bits,它總共可以表示 \(2^8 = 256\) 種不同的數值。
1 位元 (Bit) = 0 或 1
1 位元組 (Byte) = 8 位元 (Bits)
2. 表示能力:\(n\) 個位元能儲存多少資訊?
了解一串位元能表示多少不同的數值至關重要。這個計算過程會使用 2 的冪次方。
\(2^n\) 規則
如果你有 \(n\) 個位元,你就可以表示 \(2^n\) 種不同的數值。
- 範例 1: 如果 \(n = 1\) 個位元,你可以表示 \(2^1 = 2\) 種數值(0 或 1)。
- 範例 2: 如果 \(n = 4\) 個位元(通常稱為 nybble,半位元組),你可以表示 \(2^4 = 16\) 種不同的數值(從 0000 到 1111)。
- 範例 3: 如果 \(n = 8\) 個位元(即 1 Byte),你可以表示 \(2^8 = 256\) 種不同的數值(從 0 到 255)。
你知道嗎? 如果你使用 3 個位元,可能的組合共有:000、001、010、011、100、101、110、111。這剛好就是 \(2^3 = 8\) 種不同的排列方式。
重點總結: 系統所能編碼的唯一資訊量,會隨著可用位元數的增加而呈指數級成長。
3. 測量大量資料:Kilo 與 Kibi 的區別問題
隨著電腦技術的發展,我們需要使用字首(如 kilo、mega、giga)來描述大量的位元組。在歷史上,這造成了困擾,因為人們混用了兩種不同的測量系統:十進位(Decimal/公制)與 二進位(Binary/電腦科學)。
問題的核心在於 1000 (\(10^3\)) 與 1024 (\(2^{10}\)) 非常接近。很長一段時間,「千位元組 (Kilobyte, kB)」有時被用來指 1000 Bytes,有時又被用來指 1024 Bytes。
為了修正這種混亂,國際電工委員會 (IEC) 推出了官方的 二進位字首 (Binary Prefixes),即所謂的 IEC 字首(kibi、mebi、gibi 等)。
你必須學會分辨這兩個系統:
1. 十進位字首: 使用 10 的冪次方(主要由硬碟製造商等儲存設備廠商使用)。
2. 二進位字首: 使用 2 的冪次方(由電腦科學家和作業系統使用,用於精確測量記憶體)。
4. 十進位字首(10 的冪次方)
這些字首基於標準公制系統,每增加一級就是乘以一千 (1000)。
| 名稱 | 符號 | 10 的冪次方 | 數值 (Bytes) |
|---|---|---|---|
| kilo | k | \(10^3\) | 1,000 |
| mega | M | \(10^6\) | 1,000,000 |
| giga | G | \(10^9\) | 1,000,000,000 |
| tera | T | \(10^{12}\) | 1,000,000,000,000 |
範例: 一個 1 terabyte (TB) 的硬碟實際上包含 \(10^{12}\) 個位元組。
5. 二進位字首(2 的冪次方)
這些字首由 IEC 正式認可,基於 2 的冪次方,每增加一級就是乘以 1024。
主要的差異在於名稱中加入了 "bi"(代表 binary,二進位,例如 kibi 取代 kilo)以及符號中加入了 "i"(例如 KiB 取代 kB)。
| 名稱 | 符號 | 2 的冪次方 | 數值 (Bytes) |
|---|---|---|---|
| kibi | Ki | \(2^{10}\) | 1,024 |
| mebi | Mi | \(2^{20}\) | 1,048,576 |
| gibi | Gi | \(2^{30}\) | 1,073,741,824 |
| tebi | Ti | \(2^{40}\) | 1,099,511,627,776 |
範例: 1 kibibyte (KiB) = \(2^{10}\) Bytes。
現實連結: 當你購買標示為 1 TB(十進位測量)的硬碟時,你的作業系統可能會顯示它為 0.909 TiB(二進位測量)。這種差異常讓使用者感到困惑,但在技術上,根據上述明確的定義,這兩者都是準確的!
要記住二進位字首的順序,只需記得它們是以 10 為級距遞增的:
kibi = \(2^{10}\)
mebi = \(2^{20}\)
gibi = \(2^{30}\)
tebi = \(2^{40}\)
重點回顧總結
- 位元 (bit) (0 或 1) 是絕對的核心。
- 位元組 (byte) (8 bits) 是標準的分類單位。
- 能表示的數值總數,計算公式為 \(2^n\)。
- 務必區分兩套字首系統:
- 十進位 (kilo, M, G, T) 使用 \(10^3\) (1000)。
- 二進位 (kibi, Mi, Gi, Ti) 使用 \(2^{10}\) (1024)。