💻 你正在閱讀的這段文字,本質上是一串 0 和 1
此刻你看到的每一個字、每一張圖、每一個網頁元素,在電腦底層都是以**二進位(Binary)**的形式儲存和傳輸的。
「M」這個字母在電腦裡是 01001101。「你好」這兩個字,是數十個 0 和 1 組成的序列。就連你在螢幕上看到的顏色,也只是三組 0 到 255 之間的數字,最終也是二進位。
這一切的根基,是一個極度簡單的想法:用兩種狀態表示所有資訊。但這個想法是怎麼從哲學推論變成工程現實的?
📚 二進位的哲學根源:萊布尼茲與《易經》
戈特弗里德·萊布尼茲(1646–1716)
現代二進位系統的奠基者是德國哲學家兼數學家萊布尼茲(Gottfried Wilhelm Leibniz)。1703 年,他發表論文《二進位算術的說明》,系統性地建立了以 0 和 1 為基礎的計數系統。
萊布尼茲的動機帶有濃厚的神學色彩:他認為 1 代表上帝,0 代表虛無,宇宙萬物從上帝的創造(1)與虛無(0)中誕生——二進位系統以數學形式體現了創世的邏輯。
萊布尼茲發現了《易經》
更驚人的是,萊布尼茲後來發現,中國古代的**《易經》**中的卦象,在結構上與他的二進位系統驚人地相似。
《易經》的基本單位是「爻(yáo)」,分為:
- 陽爻(⚊):一條實線,對應 1
- 陰爻(⚋):一條斷線,對應 0
六個爻組成一個「卦」,共有 2⁶ = 64 卦,與 6 位元二進位可以表示 64 個不同值完全吻合。
| 二進位 | 十進位 | 易經卦名(部分) |
|---|---|---|
| 000000 | 0 | 坤(六陰) |
| 000001 | 1 | 剝 |
| 111111 | 63 | 乾(六陽) |
萊布尼茲在給傳教士白晉(Joachim Bouvet)的信中興奮地寫道:「伏羲(傳說中《易經》的作者)早在我之前就已發現了二進位算術!」
⚡ 從數學到電路:布爾代數的橋樑
萊布尼茲之後,二進位在數學界沉寂了一個多世紀,直到另一位天才出現。
喬治·布爾(George Boole,1815–1864)
英國數學家布爾在 1854 年出版《思維的法則》,建立了布爾代數(Boolean Algebra)——一套以 True(真)和 False(假)為基礎的邏輯運算系統。
布爾代數的核心運算只有三種:
| 運算 | 符號 | 說明 |
|---|---|---|
| AND(且) | ∧ | 兩者都為真,才為真 |
| OR(或) | ∨ | 至少一者為真,即為真 |
| NOT(非) | ¬ | 真變假,假變真 |
這套邏輯運算與 0/1 的二進位完美對應:1 = True,0 = False。但當時沒有人意識到這套數學系統的工程潛力。
克勞德·香農(Claude Shannon):最重要的碩士論文
1937 年,美國工程師**克勞德·香農(Claude Shannon)**在 MIT 完成了一篇碩士論文,題目是《繼電器和開關電路的符號分析》。論文的核心觀點只有一句話:布爾代數可以用電路的開(1)與關(0)來實現。
電路的「開」與「關」正好是兩種狀態,完全對應 1 和 0。這篇論文被許多資訊理論學者稱為「史上最重要的碩士論文」,它在數學邏輯與電子工程之間架起了橋樑,直接奠定了現代電腦的理論基礎。
🔢 二進位怎麼數數?
我們日常用的是十進位(0–9),滿十進一位。二進位只有兩個符號(0 和 1),滿二進一位。
| 十進位 | 二進位 | 說明 |
|---|---|---|
| 0 | 0 | |
| 1 | 1 | |
| 2 | 10 | 滿二進一位 |
| 3 | 11 | |
| 4 | 100 | 滿四進一位 |
| 8 | 1000 | |
| 15 | 1111 | |
| 16 | 10000 | |
| 255 | 11111111 | 8 位元最大值 |
換算公式
將二進位 1011 換算成十進位:
1×2³ + 0×2² + 1×2¹ + 1×2⁰
= 8 + 0 + 2 + 1
= 11
🖥️ 為什麼電腦用二進位而不用十進位?
這個問題的答案,藏在**電晶體(Transistor)**的物理特性裡。
電晶體是現代電腦的基本元件,其工作原理是控制電流的通與斷:
- 有電流(高電壓)→ 1
- 無電流(低電壓)→ 0
這兩種狀態物理上容易區分、穩定可靠、不易受雜訊干擾。如果要用十進位,就需要 10 種穩定的電壓等級,製造難度和錯誤率都會大幅上升。
二進位的優雅,在於它把「不確定性」降到最低:每一個電晶體,只需要回答一個問題——通,還是不通?
現代晶片裡有多少個電晶體?
| 晶片 | 年份 | 電晶體數量 |
|---|---|---|
| Intel 4004 | 1971 | 2,300 個 |
| Intel Pentium | 1993 | 3,100,000 個 |
| Apple M1 | 2020 | 160 億個 |
| Apple M4 | 2024 | 280 億個 |
每一個電晶體,都在每秒數十億次地回答「0 或 1?」。
🌐 二進位在日常生活中的蹤跡
顏色:RGB 與十六進位
網頁設計中常見的 #FF5733 是十六進位(Hex)的顏色碼,而十六進位只是二進位的壓縮表達方式:
FF=11111111(十進位 255)→ 紅色最大值57=01010111(十進位 87)→ 綠色33=00110011(十進位 51)→ 藍色
檔案大小:位元與位元組
- 1 bit(位元):最小單位,只能是 0 或 1
- 8 bits = 1 Byte(位元組):可以表示 0–255 的任意整數
- 1024 Bytes = 1 KB(千位元組)
- 1024 KB = 1 MB(百萬位元組)
為什麼是 1024 而不是 1000?因為 1024 = 2¹⁰,是二進位計算的自然單位,遠比十進位的 1000 更方便。
Base64:二進位轉文字
電子郵件和網頁中常用的 Base64 編碼,本質上是把二進位資料(圖片、檔案)轉換成 64 個可打印的 ASCII 字元,方便在文字協定中傳輸。
常見問題 FAQ
Q1: 二進位和十六進位有什麼關係?
十六進位(Hexadecimal,0–9 再加上 A–F 共 16 個符號)是二進位的便捷縮寫:每 4 個二進位位元,剛好對應 1 個十六進位符號。程式設計師用十六進位是因為它比二進位短得多,但又能精確對應底層的 0 和 1。
Q2: 量子電腦還用二進位嗎?
量子電腦使用量子位元(Qubit),可以同時處於 0 和 1 的疊加態(superposition),這讓它在某些特定問題上比傳統電腦快得多。但量子電腦並非「不用」二進位,而是在計算過程中利用量子力學,最終讀出的結果仍然是 0 或 1。
Q3: 為什麼 IP 位址是 0–255 之間的數字?
IPv4 位址(如 192.168.1.1)由 4 組數字組成,每組範圍是 0–255,因為每組對應8 個二進位位元(1 Byte),8 位元的最大值恰好是 255(即 11111111₂)。
總結
從萊布尼茲的神學靈感,到布爾的邏輯代數,再到香農的電路分析,二進位制花了將近三百年,才從哲學思辨演變成驅動文明的工程基礎。
0 和 1,是人類選擇用來理解、儲存、傳遞所有資訊的最小語言。簡單到極致,卻能表達一切。