歡迎來到二進制算術的世界!

你有沒有想過,當電腦在遊戲中計算你的分數或解決數學題時,它是如何「思考」的呢?由於電腦是由無數個只能處於開啟 (1)關閉 (0) 狀態的微小開關所組成的,因此它們只能用這兩個數字來進行所有運算。這就是所謂的二進制算術 (Binary Arithmetic)

在本指南中,我們將學習如何像電腦一樣進行二進制加法,以及如何使用「位元移位 (binary shifts)」來以閃電般的速度進行乘法和除法。如果一開始覺得困難也不用擔心——只要學會這四條簡單的加法規則,你也能成為人腦計算機!


第一部分:二進制加法

二進制加法與你在小學學過的加法非常相似。你需要將數字按位對齊,並從右到左進行計算。唯一的區別是你不能出現「2」或「3」——你必須將多出的值「進位 (carry)」到下一欄。

四大黃金法則

當你對兩個二進制位進行加法時,只有四種可能的結果:

1. \( 0 + 0 = 0 \)

2. \( 0 + 1 = 1 \)

3. \( 1 + 0 = 1 \)

4. \( 1 + 1 = 10 \)(在本欄寫 0,並向左邊下一欄進位 1)。

三個數字相加(進階級)

根據 AQA 教學大綱,你可能需要一次相加多達三個二進制數字。這意味著你可能會遇到同一欄中有三個 1 的情況!

• 如果該欄加起來等於 3(三個 1),規則是:寫下 1 並向下一欄進位 1。這是因為十進制的 3 在二進制中是 11

速查小盒子:

• 總和為 0:寫 0,進位 0

• 總和為 1:寫 1,進位 0

• 總和為 2:寫 0,進位 1

• 總和為 3:寫 1,進位 1


逐步範例

讓我們來相加 0110 (6)0111 (7)

步驟 1(右欄): \( 0 + 1 = 1 \)。寫下 1。

步驟 2(下一欄): \( 1 + 1 = 10 \)。寫下 0,進位 1。

步驟 3(下一欄): \( 1 + 1 + \)(進位的 1) \( = 11 \)。寫下 1,進位 1。

步驟 4(左欄): \( 0 + 0 + \)(進位的 1) \( = 1 \)。寫下 1。

最終答案: 1101(即十進制的 13!)

常見錯誤:忘記加上「進位」的數字。請務必在下一欄的頂部清楚寫下你的進位數字,以免漏掉!

重點總結:二進制加法其實就是「數一數」該欄有多少個 1。如果有兩個 1,就要進位;如果有三個 1,就是寫 1 並進位 1。


第二部分:二進制位元移位 (Binary Shifts)

二進制移位是一種聰明的技巧,用來將數字乘以或除以 2 的冪次(2, 4, 8, 16 等)。對於電腦來說,將位元向左或向右「移位」比進行長乘法運算要快得多。

左移:乘法

當執行左移 (left shift) 時,二進制數中的每一位都會向左移動。每移動一位,該數字就會翻倍

• 左移 1 位:乘以 \( 2^1 \)(乘以 2

• 左移 2 位:乘以 \( 2^2 \)(乘以 4

• 左移 3 位:乘以 \( 2^3 \)(乘以 8

範例:以二進制數 0000 0101(即 5)為例。

向左移 2 位:「101」向左移動兩個位置,並在右邊留下的空位補 0。

結果:0001 0100(即 20!注意 \( 5 \times 4 = 20 \))。

右移:除法

右移 (right shift) 會將每一位向右移動。每移動一位,該數字就會除以 2。

• 右移 1 位:除以 2

• 右移 2 位:除以 4

範例:0000 1000(即 8)為例。

向右移 1 位:將所有位元向右移動一位。

結果:0000 0100(即 4!注意 \( 8 \div 2 = 4 \))。

你知道嗎?二進制移位是「邏輯移位 (Logical Shifts)」。這意味著當位元移出 8 位元的界限時,它們就會直接消失!此外,產生的空位總是會填入 0


第三部分:移位的實際應用

為什麼我們不直接進行普通算術而要用移位?在計算機科學中,效率就是一切。

1. 速度:移位是 CPU 能執行的最快操作之一。如果程式設計師需要乘以 8,他們會告訴電腦「左移 3 位」,因為這比「乘以 8」更快。

2. 圖形處理:當電腦計算顏色或移動螢幕上的像素時,它們使用二進制移位來每秒處理數百萬次計算。

鼓勵一下:如果移位讓你感到困惑,試著把它想像成將十進制數字乘以 10。你只需要把數字向左移,然後補一個 0。二進制移位完全一樣,只是基數換成了 2!

重點總結:左移 = 變大(乘法)。右移 = 變小(除法)。每一次跳躍都是 2 的冪次。


複習速查表

二進制加法規則:

• \( 0+0 = 0 \)
• \( 1+0 = 1 \)
• \( 1+1 = 0 \) 進位 1
• \( 1+1+1 = 1 \) 進位 1

二進制移位規則:

左移 \( n \) 位:乘以 \( 2^n \)
右移 \( n \) 位:除以 \( 2^n \)
8 位元限制:在考試中,你通常處理的是 8 位元。如果 1 被移出了邊界,它就會丟失。

最後小撇步:務必將你的二進制答案轉回十進制來檢查你的計算結果。如果你的十進制加法結果與二進制加法相符,那就代表你做對了!