二進位乘法計算器
立即相乘二進位數,提供分步解答並自動轉換為十進位。
輸入兩個二進位數,按下計算,即可查看二進位乘積及其十進位等值。
二進位乘法計算器
立即相乘二進位數,提供分步解答並自動轉換為十進位。
關於二進位乘法
二進位乘法遵循與十進位直式乘法相同的位值邏輯,但單一數字的規則簡單得多。在十進位中,每個數字可以是 0–9,因此必須記住 10×10 的乘法表。在二進位中,每一位不是 0 就是 1,所以規則只有:0 × 0 = 0、0 × 1 = 0、1 × 0 = 0、1 × 1 = 1。難點不在相乘單一位元,而在於正確移位並相加各個部分積。
二進位直式乘法的程序如下。將兩個數上下寫好,把一個指定為被乘數,另一個指定為乘數。從乘數最右側(最低有效位)開始,逐位產生部分積:若乘數位元為 1,部分積就是被乘數依該位元的位置向左移位;若該位元為 0,部分積就是全 0。接著使用二進位加法加總所有部分積,並視需要傳遞進位。最後的和就是二進位乘積。
例如,計算 1011 乘以 101:101 最右側的位元是 1,所以第一個部分積是 1011(左移 0 位)。中間位元是 0,得到左移 1 位的 0000(在上下文中相當於 00000)。最左側的位元是 1,所以第三個部分積是 1011 左移 2 位,也就是 101100。相加 1011 + 0000 + 101100 = 110111,十進位為 55,確認 11 × 5 = 55。
二進位乘法可直接映射到硬體:移位加法演算法實作於每個 CPU 的整數乘法單元,也用於 FPGA 與客製 ASIC。現代處理器使用 Booth 演算法、Wallace 樹、Dadda 乘法器等最佳化變體,以減少部分積數量並加速最後的加法。理解基本的移位加法流程,有助於軟體工程師推理效能、溢位,以及支撐運算中所有整數算術的二進位表示。
溢位是一個關鍵考量。如果兩個運算元都是 n 位元整數,它們的乘積最多可能需要 2n 位元。32 位元 × 32 位元乘法可能產生 64 位元結果,硬體乘法指令也常常因此提供乘積的高半部與低半部。此計算器可處理任意長度的二進位整數,並顯示完整乘積而不截斷。
二進位乘法範例
涵蓋基本情況、二的次方,以及較大運算元的完整範例。
| 運算 | 二進位結果 | 十進位檢查 |
|---|---|---|
| 1011 × 101 | 110111 | 11 × 5 = 55 ✓。部分積:1011 + 000000 + 101100 = 110111。 |
| 1101 × 1 | 1101 | 13 × 1 = 13 ✓。乘以 1 一律會原樣回傳被乘數。 |
| 1000 × 100 | 100000 | 8 × 4 = 32 ✓。乘以二的次方等同於左移。 |
| 11011 × 1101 | 101011111 | 27 × 13 = 351 ✓。較大的運算元展示完整的直式乘法程序。 |
如何使用二進位乘法計算器
- 在「第一個二進位數」欄位中,只使用 0 和 1 輸入第一個二進位數(被乘數)。
- 在「第二個二進位數」欄位中輸入第二個二進位數(乘數)。
- 如果想查看個別部分積與加法過程,請切換「顯示分步解答」。
- 按下「計算乘法」。二進位乘積及其十進位等值會出現在結果框中。
- 按下重設可清除兩個欄位,並以新值重新開始。
二進位乘法常見問題
二進位乘法與十進位乘法有何不同?
演算法相同——移位並相加部分積——但二進位中的數字乘法非常簡單:任何位元乘以 0 都是 0,任何位元乘以 1 都是其本身。這讓二進位乘法更容易在硬體中實作,也正是所有 CPU 都以二進位執行整數算術的原因。取捨是二進位數需要更多位元才能表示相同的值。
為什麼乘以二的次方等於左移?
在二進位中,乘以 2 等同於附加一個 0(把所有位元向左移一位),就像十進位數乘以 10 會附加一個 0。乘以 2ⁿ 會向左移 n 位。例如,101(5)左移 2 位變成 10100(20),而 5 × 4 = 20。這就是 CPU 與編譯器會用快速移位指令取代乘以二的次方的原因。
這個計算器可以相乘含小數部分的二進位數嗎?
此計算器僅適用於整數二進位數。若要相乘二進位小數,請先對有效數使用整數乘法,再調整二進位小數點:乘積的小數點位置要讓小數位元總數等於兩個運算元小數位元數的總和。例如,1.01 × 10.1 = 101 × 101 的整數乘積 11001,且有 2+1=3 個小數位元,因此得到 11.001。
結果的最大大小是多少?
如果被乘數有 m 位元、乘數有 n 位元,乘積最多有 m + n 位元。例如,兩個 4 位元數最多可產生 8 位元結果。此計算器可處理任意長度輸入,並顯示完整二進位乘積而不截斷。
我要如何驗證二進位乘法結果?
將兩個運算元都轉換為十進位,在十進位中相乘,再把十進位乘積轉回二進位並比較。此計算器顯示的十進位等值正是執行這項檢查。或者,也可以逐一驗證每個部分積,再逐欄檢查二進位加法。
運算元的順序重要嗎?
不重要。二進位乘法具有交換律:A × B = B × A。不過,產生的部分積數量取決於乘數的位元數,因此交換運算元可能會改變分步檢視中顯示的中間步驟,但最終乘積相同。