歡迎來到數據儲存世界!
你有沒有想過,電腦是如何僅靠電子開關,就能儲存高清電影、朗朗上口的歌曲,甚至是 500 頁的論文?在本章中,我們將揭開電腦的神秘面紗,看看它們是如何將所有事物轉化為二進制(1 和 0)。如果一開始聽起來有點像《黑客任務》(Matrix),請別擔心——我們會一步一步來拆解!
1. 數據儲存單位
電腦是由數十億個微小的開關組成的,它們只能是 ON (1) 或 OFF (0)。正因如此,所有數據都必須轉換為二進制格式才能進行處理。
數據階層
就像我們用克(g)和公斤(kg)來測量重量一樣,電腦也使用特定的單位來衡量數據:
- 位元 (Bit): 單個 0 或 1,這是最小的單位。
- 半位元組 (Nibble): 4 個位元(半個位元組)。
- 位元組 (Byte): 8 個位元。(數據的「基本組成單位」)。
- 千位元組 (KB): 1,000 個位元組。
- 百萬位元組 (MB): 1,000 KB。
- 十億位元組 (GB): 1,000 MB。
- 兆位元組 (TB): 1,000 GB。
- 拍位元組 (PB): 1,000 TB。
記憶小撇步: 要記住這個順序,試試這個口訣:Big Nice Boys Keep Many Great Toys Packed. (Bit, Nibble, Byte, KB, MB, GB, TB, PB)。
注意:在你的考試中,OCR 採用 1,000 作為倍數,但使用 1,024 也是可以接受的!
計算檔案大小
你可能會被要求計算一個檔案佔用多少空間。以下是「黃金法則」:
- 文字檔案: \( \text{每個字符的位元數} \times \text{字符總數} \)
- 圖像: \( \text{色彩深度} \times \text{圖像高度 (px)} \times \text{圖像寬度 (px)} \)
- 聲音: \( \text{取樣率 (Hz)} \times \text{持續時間 (s)} \times \text{位元深度} \)
重點總結: 電腦使用二進制,因為它們是由電晶體(開關)組成的。當我們從位元(Bit)往上算到拍位元組(PB)時,每一步通常乘以 1,000。
2. 數字的儲存
電腦透過將我們常用的數字(十進制 Denary)轉換為二進制(二進位)來進行儲存。
二進制與十進制的轉換
要轉換一個 8 位元的二進制數字,請使用這樣的表格:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
如果對應的欄位是 '1',就將該數字相加;如果是 '0',則忽略它。
例子:00001011 等於 \( 8 + 2 + 1 = 11 \)。
十六進制 (Hexadecimal)
十六進制(十六進位)是二進制的縮寫。它對人類來說更容易閱讀!它使用 0–9 以及 A–F(其中 A=10, B=11, C=12, D=13, E=14, F=15)。
快速回顧: 一個十六進制位數正好代表 4 個位元(一個半位元組)。因此,一個兩位數的十六進制數代表完整的一個位元組(Byte)。
位元移位 (Binary Shifts)
將位元向左或向右移動是進行乘法或除法的快捷方式:
- 左移: 對數字進行乘法。向左移動 1 位,數值會加倍。
- 右移: 對數字進行除法。向右移動 1 位,數值會減半。
常見錯誤: 在右移時,任何從末端「掉出去」的位元都會丟失,這可能會導致捨入誤差!
二進制加法與溢位 (Overflow)
進行二進制加法時,記住:\( 0+0=0 \),\( 0+1=1 \),\( 1+1=10 \)(寫 0,進 1),以及 \( 1+1+1=11 \)(寫 1,進 1)。
溢位錯誤: 當加法的結果大到無法放入 8 位元空間時,就會發生這種錯誤。電腦單純沒有位置存放那個「額外」的位元了!
重點總結: 二進制是給電腦看的;十六進制是方便人類讀取二進制的。位元移位是「數學快捷鍵」。
3. 字元的儲存
為了儲存文字,電腦會使用字元集 (Character Set)。這是一個對照表,將二進制數字連結到特定的字元。
- ASCII: 每個字元使用 8 個位元。它只能表示 256 個字元(足以涵蓋英文和符號)。
- Unicode: 使用更多的位元(通常為 16 或 32)。它可以表示數以萬計的字元,包括地球上所有的語言,甚至還有表情符號 (Emojis)!
你知道嗎? 在字元集中,代碼是有序的。如果 'A' 的代碼是 65,那麼 'B' 的代碼就會是 66。
重點總結: 每個字元使用的位元越多,能表示的唯一字元就越多,但檔案大小也會隨之增加。
4. 圖像的儲存
數位圖像由稱為像素 (Pixels,即 Picture Elements) 的微小點組成。每個像素都被分配一個二進制代碼來表示其顏色。
重要因素:
- 解像度 (Resolution): 圖像中的像素數量(寬度 x 高度)。解像度越高,圖像越清晰,但檔案也越大。
- 色彩深度 (Colour Depth): 每個像素所使用的位元數。使用的位元越多,顏色就越豐富(例如:2 個位元 = 4 種顏色,8 個位元 = 256 種顏色)。
- 元數據 (Metadata): 「關於數據的數據」。這是儲存在檔案內部的額外資訊,例如高度、寬度以及照片拍攝日期。
重點總結: 品質與檔案大小之間存在取捨。提高解像度或色彩深度會讓圖像看起來更好,但會佔用更多儲存空間。
5. 聲音的儲存
聲音本質上是模擬 (Analogue) 的(連續的波)。電腦必須透過取樣 (Sampling) 將其轉換為數位訊號。
取樣的工作原理:
- 在固定的間隔測量聲波的振幅(高度)。
- 每個測量結果都被轉換為一個二進制數字。
- 這些數字按順序儲存,以便重新建立波形。
聲音品質:
- 取樣率 (Sample Rate): 測量的頻率(以赫茲/Hz為單位)。
- 位元深度 (Bit Depth): 每個樣本可使用的位元數。位元越多,聲波高度的「快照」就越準確。
重點總結: 較高的取樣率和位元深度等於更好的播放品質,但檔案大小會大得多。
6. 壓縮
為什麼我們需要壓縮?為了縮小檔案大小,這樣它們佔用的儲存空間較少,並且能更快速地透過網際網路傳輸!
1. 有損壓縮 (Lossy Compression)
這會永久性地刪除檔案中的某些數據。它會尋找人類眼睛或耳朵不容易察覺的部分並予以刪除。
- 優點: 檔案大小大幅縮減。
- 缺點: 品質下降;數據永遠丟失。
- 例子: MP3, JPEG。
2. 無損壓縮 (Lossless Compression)
這可以在不丟失任何資訊的情況下縮小檔案。它通常透過尋找數據中的規律來運作。
- 優點: 品質沒有損失;可以完美還原原始檔案。
- 缺點: 檔案大小的縮減程度不如有損壓縮。
- 例子: PNG, ZIP 檔案。
快速回顧框: 在串流音樂或照片時,如果覺得「足夠好」就可以了,請使用有損壓縮。對於文字文件或軟體等每一個位元都至關重要的內容,請使用無損壓縮!
重點總結: 有損 = 最小檔案大小但品質較低。無損 = 完美品質但檔案較大。