歡迎來到數據儲存與壓縮!

在本章中,我們將探索如何衡量檔案的「數位重量」,以及如何將檔案縮小,好讓它們不會佔用過多空間。無論你是正在下載一個 50GB 的遊戲,還是傳送一張 2MB 的相片給朋友,你都在處理數據儲存(Data storage)壓縮(Compression)的問題。

如果起初看到這些數字覺得很龐大,請別擔心——只要看出當中的規律,計算起來就像移動小數點一樣簡單(嗯,應該說是二進位小數點!)。

第一節:衡量數據

就像我們用克和公斤來衡量重量一樣,我們用位元(bits)位元組(bytes)來衡量數位數據。由於電腦使用二進位(binary)(由 1 和 0 組成),這些測量單位都是以 2 的倍數為基礎。

基礎組件

  • 位元(Bit):數據的最小單位,是一個單獨的 1 或 0。
  • 半位元組(Nibble):4 個位元(半個位元組)。
  • 位元組(Byte):8 個位元。這是衡量單個文字字元的標準單位。

二進位倍數

過去,人們常用「千位元組(kilobytes)」來表示 1000 或 1024。為了精確起見,你的 Edexcel 課程採用了 IEC(國際電工委員會)的標準。這些單位以 1024 為倍數遞增。

記憶小貼士:"Kitchens Make Great Toast"(廚房能做出很棒的吐司)
  1. Kibibyte (KiB):\(1024\) bytes
  2. Mebibyte (MiB):\(1024\) kibibytes
  3. Gibibyte (GiB):\(1024\) mebibytes
  4. Tebibyte (TiB):\(1024\) gibibytes

你知道嗎? 我們使用 "kibi" 和 "mebi" 而不是 "kilo" 和 "mega",是為了標示我們使用的是 1024 (\(2^{10}\)) 而非 1000 (\(10^{3}\))。

快速複習:
8 bits = 1 byte
1024 bytes = 1 KiB
1024 KiB = 1 MiB
1024 MiB = 1 GiB
1024 GiB = 1 TiB

第二節:計算檔案大小

你需要學會「構建算式」(寫出數學式),來計算檔案有多大,或是它能否存入磁碟中。在考試中,你通常不需要算出最後那個巨大的數字,但你必須展示你是如何得出該結果的!

計算圖像檔案大小

要計算點陣圖(bitmap image)的大小,請使用此公式:
\(解析度 (寬 \times 高) \times 色彩深度\)

範例: 一張圖像寬 100 像素、高 100 像素,色彩深度為 24-bit。
算式: \(100 \times 100 \times 24\) bits。
要得到以 bytes(位元組)為單位的答案,需除以 8:\(\frac{100 \times 100 \times 24}{8}\)

計算聲音檔案大小

要計算聲音檔案的大小,請使用此公式:
\(採樣率 (Hz) \times 採樣時間 (秒) \times 位元深度\)

範例: 一段 10 秒的錄音,採樣率為 44,100Hz,位元深度為 16-bit。
算式: \(44,100 \times 10 \times 16\) bits。

容量需求

如果你需要知道 2MiB 的檔案在 10GiB 的 USB 手指中能存多少個:
1. 將所有單位轉換成一致(將 GiB 轉換為 MiB)。
2. \(10 \times 1024 = 10,240\) MiB。
3. 用總容量除以檔案大小:\(10,240 / 2 = 5,120\) 個檔案。

常見錯誤: 忘了除以 8!考試題目通常要求以 bytes 為單位,但你的初步計算結果通常是 bits

重點提示: 務必檢查你的單位!如果題目要求以 KiB 為單位,你得將總位元組數除以 1024。

第三節:數據壓縮

壓縮(Compression)是將檔案縮小的過程。我們為什麼要這樣做?
1. 為了佔用更少的儲存空間
2. 為了讓檔案在網路上傳輸得更快(串流/下載)。

1. 有損壓縮 (Lossy Compression)

有損(Lossy)壓縮通過永久刪除部分數據來縮小檔案。它會尋找人類眼睛或耳朵不易察覺的數據並將其移除。

  • 範例: JPEG(圖像)、MP3(聲音)、MP4(影片)。
  • 優點: 大幅縮減檔案大小。
  • 缺點: 損失了部分品質;檔案無法還原成原始狀態。

2. 無損壓縮 (Lossless Compression)

無損(Lossless)壓縮在不丟失任何資訊的情況下縮小檔案。它會尋找數據中的規律,並以更有效率的方式記錄它們。當你「解壓縮(unzip)」檔案時,它與原始檔案完全相同。

  • 範例: PNG(圖像)、ZIP(檔案)、FLAC(聲音)。
  • 優點: 畫質或音質無損。
  • 缺點: 檔案縮小的程度不如有損壓縮顯著。

壓縮的類比

想像你在傳送訊息。
無損(Lossless)就像用 "don't" 代替 "do not"。雖然變短了,但含義 100% 被完美保留。
有損(Lossy)就像傳送 "c u ltr"。你刪除了字母(數據),雖然朋友看得懂,但它已經不是原本那句正式的句子了。

快速複習:
有損(Lossy): 檔案更小,品質較低,數據永遠消失。
無損(Lossless): 檔案略微縮小,品質完美,數據完整保留。

總結:我們學到了什麼?

- 電腦以二進位倍數(基數 1024)來衡量數據。
- 我們使用 bits, bytes, KiB, MiB, GiB, 及 TiB 來衡量儲存大小。
- 檔案大小算式能幫助我們規劃所需的儲存空間。
- 有損壓縮透過刪除數據來縮小檔案(適合相片/音樂)。
- 無損壓縮透過重新組織數據來縮小檔案(適合文字/程式碼)。