這個二進位計算機能做什麼
這個二進位計算機可以讓你對兩個二進位數字(也就是以 2 為基底、只使用 0 和 1 兩個位數所表示的數字)進行四則運算。你只要輸入兩個二進位數值,選擇加、減、乘、除其中一種運算,工具就會同時回傳二進位答案及其對應的十進位結果,並附上清楚的計算過程拆解。
各個輸入欄位
- 第一個二進位數字 — 左側的運算元,例如
1010。 - 運算方式 — 選擇加、減、乘或除。
- 第二個二進位數字 — 右側的運算元,例如
11。
每個欄位都只能填入 0 和 1。只要任一欄位出現其他字元,計算機就會顯示「無效的二進位輸入」,而不會給出結果。
計算原理
工具在內部並不是一位一位地做位元運算,而是依照以下三個簡單步驟進行:
- 轉換成十進位:先將每一串二進位字串解析為以 2 為基底的整數。
- 套用運算:對這兩個十進位數值進行加、減、乘或整數除法。除法採用整數(無條件捨去)除法,因此餘數會被捨棄;若除以零,則會回傳「除以零」。以下為四種運算的對應公式:
- 轉回二進位:再把計算結果從十進位轉換成二進位字串顯示出來,同時也一併顯示十進位結果。
實際範例
假設第一個二進位數字 = 1010,運算方式 = 乘法,第二個二進位數字 = 11。
1010的十進位值是 10。11的十進位值是 3。- \(10 \times 3 = 30\)。
- 30 轉回二進位是
11110。
所以計算機會顯示結果為 11110(二進位)以及 30(十進位)。
二進制–十進制轉換表
在二進制中,每一位(比特)代表二的一個次方。從右到左讀取二進制數字,各位數的值為 \(2^0=1,\ 2^1=2,\ 2^2=4,\ 2^3=8,\ 2^4=16,\ \dots\)。要找到十進制的等值,請將出現 1 的位置的值相加。
常見值
| 二進制 | 十進制 |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 10 | 2 |
| 11 | 3 |
| 100 | 4 |
| 101 | 5 |
| 110 | 6 |
| 111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | 10 |
| 1011 | 11 |
| 1100 | 12 |
| 1101 | 13 |
| 1110 | 14 |
| 1111 | 15 |
位值(二的次方)
| 二進制 | 次方 | 十進制權重 |
|---|---|---|
| 1 | \(2^0\) | 1 |
| 10 | \(2^1\) | 2 |
| 100 | \(2^2\) | 4 |
| 1000 | \(2^3\) | 8 |
| 10000 | \(2^4\) | 16 |
| 100000 | \(2^5\) | 32 |
| 1000000 | \(2^6\) | 64 |
| 10000000 | \(2^7\) | 128 |
| 100000000 | \(2^8\) | 256 |
更多工作範例
加法:1011 + 110
將每個操作數轉換為十進制,相加,然後轉換回二進制。
- \(1011_2 = 8+2+1 = 11_{10}\)
- \(110_2 = 4+2 = 6_{10}\)
- 相加:\(11 + 6 = 17_{10}\)
- 轉換回:\(17_{10} = 16+1 = 10001_2\)
按欄加法確認這一點——相加 \(1011 + 0110\) 會產生進位到更高位,得出 10001(十進制 17)。
減法產生負數:10 − 111
當第二個數字較大時,結果是負數。
- \(10_2 = 2_{10}\)
- \(111_2 = 7_{10}\)
- 相減:\(2 - 7 = -5_{10}\)
- 轉換回絕對值:\(5_{10} = 101_2\),所以答案是 \(-101_2\)
\(10 - 111\) 的結果是二進制中的 -101(十進制 \(-5\))。
整數除法(捨棄餘數):111 ÷ 10
二進制整數除法只保留整數商,捨棄餘數。
- \(111_2 = 7_{10}\)
- \(10_2 = 2_{10}\)
- 相除:\(7 \div 2 = 3\) 餘 \(1\);餘數 \(1\) 被捨棄
- 轉換商回:\(3_{10} = 11_2\)
所以 \(111 \div 10 = \)11 在二進制中(十進制 3,餘數 1 被捨棄)。
關鍵術語說明
- 二進制(二進制制)
- 只使用數字 0 和 1 的數字系統。每個位置代表二的一個次方,與使用數字 0–9 的十進制(十進制制)系統不同。
- 比特
- 單個二進制數字——0 或 1。它是計算中最小的數據單位。
- 最高有效位(MSB)
- 二進制數的最左邊的位;它具有最大的位值,對數字的大小影響最大。
- 最低有效位(LSB)
- 最右邊的位,位值為 \(2^0=1\);它影響最小,決定數字是奇數還是偶數。
- 進位
- 當一列中的兩個比特相加等於 2 或更多時,多出的部分進位到下一個更高列。在二進制中,\(1+1=10\),所以該列顯示 0,1 向左進位。
- 位值
- 分配給每個數字位置的權重,等於二的一個次方:\(1, 2, 4, 8, 16, \dots\) 從右到左讀取。
- 整數(截斷)除法
- 只返回整數商並捨棄任何餘數的除法。例如 \(7 \div 2 = 3\),捨棄餘數 1。
- 十進制等值
- 二進制數的十進制值,通過將出現 1 的位值相加得到——例如 \(1011_2 = 8+2+1 = 11_{10}\)。
常見問題
除法的餘數會怎麼處理?除法是以整數為基礎的,因此小數部分會被捨去。例如 111(7)÷ 10(2)會得到 11(3),而不是 3.5。
結果有可能是負數嗎?會的。用較小的數減去較大的數會得到負的十進位值,這也會反映在顯示出來的二進位表示中。
為什麼會顯示「無效的二進位輸入」?欄位只接受 0 和 1 這兩個位數。空格、小數點,或是 2 到 9 等數字都會觸發這則訊息,所以請再次確認你輸入的內容。