為什麼電腦使用二進位?

今天我們來理解電腦的核心邏輯:為什麼電腦使用 0 和 1(二進位)來表示所有資料,以及文字如何從 ASCII 發展到 Unicode、甚至可以儲存影像、聲音等多媒體資料。
一、什麼是進位制?
進位制(Positional Number System)是一種用數字表示數量的方法,每個位子都有不同的權重,權重由「基底」(Base)決定。
- 基底(Base):每個位子可以用的數字數量
- 十進位(Base-10):每個位子可以用 0–9 共 10 個數字,超過 9 就進位到下一個位子,變成 10(讀作:十)。 ex: 9 + 1 = 10。
- 二進位(Base-2):每個位子可以用 0 或 1 共 2 個數字,超過 1 就進位到下一個位子,變成 10(讀作:一零)。ex: 1 + 1 = 10。
一個數值可以用倍數乘以基底的次方位組合而成:
- 十進位 572 = 5×10² + 7×10¹ + 2×10⁰ = 500 + 70 + 2
- 二進位 1011 = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11(以十進位表示)
理解進位制是理解電腦數字表示的基礎。
二、為什麼電腦使用二進位?
電腦由電子電路構成,電路容易且可靠地辨識兩種狀態:
- 高電壓 → 1
- 低電壓 → 0
如果使用十進位(0–9),就必須精確區分十種電壓值,容易出錯、速度慢、成本高。
因此二進位(Base-2)是最穩定、最可靠的選擇,也是電腦所有運算的基礎。
三、另一種表示方式:十六進位
電腦科學領域另一種很常用的進位法:十六進位(Base-16)來表示二進位資料,因為它更簡潔易讀。
你可能很常在看到十六進位的表示法,例如顏色代碼 #FF5733。
或是記憶體位址 0x1A3F。
- 十六進位使用 0–9 和 A–F 共 16 個符號表示數字:
- 1, 2, 3, 4, 5, 6, 7, 8, 9
- A = 10, B = 11, C = 12, D = 13, E = 14, F = 15
- 超過 F 就進位到下一個位子,變成 10(讀作:一零)。
所以十六進位的 FF 可以表示為:
F×16¹ + F×16⁰ = 15×16 + 15×1 = 240 + 15 = 255(十進位)= 11111111(二進位)
反過來,十進位的 127 可以表示為:
127 = 7×16¹ + 15×16⁰ = 7F(十六進位)= 01111111(二進位)
四、文字如何轉換成二進位——ASCII 編碼
電腦只能處理數字,要表示文字,就需要建立「文字 ↔ 整數」對照表。
1960 年代,美國資訊交換標準協會(ANSI)制定了 ASCII(American Standard Code for Information Interchange):
- 將常用符號(A–Z、a–z、0–9、標點符號、控制字元)分配一個整數範圍:
- 0–31:控制字元(如換行、回車、Tab)
- 32–126:可見字元(空白、標點符號、數字、大小寫英文字母)
- 127:刪除字元(DEL)
- 電腦會根據 ASCII 對照表,將文字轉成二進位
範例:
A→ 65 → 二進位 1000001a→ 97 → 二進位 1100001\s(空白) → 32 → 二進位 0100000
所以比如說 Apple 這個字串,在電腦內部會被轉成以下二進位序列:
A p p l e
65 112 112 108 101 (十進位只是方便人類查表)
1000001 1110000 1110000 1101100 1100101注意:十進位數字只是人類可讀表示方式,電腦內部實際儲存的是二進位 1000001。ASCII 的本質是「符號對應整數」,整數再用二進位表示。
五、ASCII 的限制與 Unicode
ASCII 只能表示 128 個符號,對於非英文字母或特殊符號(例如中文、日文、阿拉伯文)無法涵蓋。
為了解決這個問題,Unicode 標準被提出:
- 每個字符分配唯一編碼(code point),範圍可達百萬級別
- 兼容 ASCII:前 128 個編碼與 ASCII 相同
- 可表示全球所有語言、符號和表情
Unicode 使用不同編碼形式儲存,例如:
- UTF-8:每個字符 1~4 個位元組(8~32bit),廣泛用於網頁和程式語言
- UTF-16:每個字符 2 或 4 個位元組 (16~32bit),常用於 Windows 系統
比如說中文的「你好」,在 Unicode 中的編碼分別是:
- 你 → Unicode: U+4F60 → UTF-8: E4 BD A0 -> UTF-16: 60 4F
- 好 → Unicode: U+597D → UTF-8: E5 A5 BD -> UTF-16: 7D 59
透過這種方式就可以表示各種語言和符號,讓電腦能處理全球多樣化的文字內容。
六、圖片、聲音、影片也是用進位表示
電腦不理解內容本身,只處理數值:
- 圖片(RGB)
- 每個像素有紅、綠、藍三個強度值,範圍皆是
0–255 - 例如 R=120, G=200, B=150 皆轉成十六進位表示
- R: 120 → 78(十六進位)→ 01111000(二進位)
- G: 200 → C8(十六進位)→ 11001000(二進位)
- B: 150 → 96(十六進位)→ 10010110(二進位)
- 每個像素有紅、綠、藍三個強度值,範圍皆是
通常顏色很常用 HexCode 表示法,例如
#78C896就是上面這個顏色。
聲音(PCM)
- 聲音是時間上的波形
- 每個取樣點是一個振幅值(整數),可用二進位表示
- 例如振幅 -20000、15000 皆轉成二進位
- 將這些具有振幅值的取樣點依時間序排列,以一定的取樣率(如 44.1kHz)播放,就還原出聲音
影片
- 影片 = 多張圖片 + 音訊
- 每張影格和聲音取樣都轉成數值,再轉成二進位
INFO
我們常常聽到的數位化(Digitization),就是將各種形式的資料(文字、圖片、聲音、影片)轉換成數值,進而用二進位表示,讓電腦能夠儲存、處理和傳輸這些資料。 相對於數位化,類比(Analog)則是直接以連續的物理量(如聲波、光波)來表示資訊。 像是黑膠唱片就是透過錄音時的聲波震動切割針來刻畫溝槽,播放時再用唱針讀取這些物理震動來還原聲音,屬於類比形式。
七、總結
- 進位制:每個位子有固定權重,基底決定可用數字數量
- 二進位:電腦可靠運算所需,電子電路能穩定辨識 0 和 1
- 文字編碼:ASCII → Unicode,都是將符號轉成整數,再由二進位儲存
- 多媒體資料:圖片、聲音、影片都能數值化並轉成二進位
- 核心概念:理解進位制與二進位、以及編碼標準,是理解電腦如何處理各種資料的基礎
