二進位除法計算器
計算二進位整數除法,查看精確的二進位商、餘數與十進位核對結果。
二進位數相除
輸入無號二進位被除數與非零二進位除數。
關於二進位除法
二進位除法計算一個二進位整數能包含多少個另一個整數,並將剩餘部分表示為餘數。它遵循與十進位長除法相同的結構,但商的每一位只能是零或一。被除數是要被分割的數,除數是用來相除的數,商是整數結果,餘數則是不足以再組成一個完整除數的部分。
手算長除法時,從被除數的最高位元開始,逐位移下數字,直到目前的部分值至少等於除數。在商中寫一,減去除數,再移下下一位。若部分值小於除數,就在商中寫零並繼續。重複比較、相減與移位,由左至右得到商。最後的部分值就是餘數,必須小於除數。
以 1101 除以 11 為例,十進位就是十三除以三。整數商為四,二進位寫作 100,餘數為一。可用定義恆等式核對:被除數等於除數乘以商再加餘數。二進位表示為 1101 等於 11 乘以 100 加 1。若是 1100 除以 11,商仍為 100,但餘數為零,因為十二可以被三整除。
數位硬體可透過重複移位與條件式減法實作除法。恢復餘數法與不恢復餘數法改善了中間餘數的處理方式,現代處理器也可能採用更複雜的方法提升速度。被除數、除數、商與餘數的基本關係不變。二進位除法在處理器設計、定點運算、位址計算、編碼與低階最佳化中都很重要。
本計算器執行無號整數除法,不延伸商的小數位元,而是顯示精確整數餘數。反覆將餘數左移並繼續除法,可產生二進位小數,類似在十進位小數點後繼續補位。保留整數商與餘數,可避免決定要顯示多少小數位元,以及循環展開是否需要捨入。
除以零沒有定義,因此除數至少必須有一個位元為一。前置零不影響數值。計算採用任意長度的精確整數,而非浮點數,因此可可靠處理實際應用中的長輸入。將結果用於固定位元寬度硬體時,請注意有號數需要二補數等表示法,且可能涉及本無號計算器未模擬的特殊溢位規則。
二進位除法範例
範例展示整除與非零餘數的情況。
| 除法 | 商與餘數 | 十進位核對 |
|---|---|---|
| 1100 ÷ 11 | 商 100,餘數 0 | 12 ÷ 3 = 4,恰好整除。 |
| 1101 ÷ 11 | 商 100,餘數 1 | 13 = 3 × 4 + 1. |
| 101010 ÷ 101 | 商 1000,餘數 10 | 42 = 5 × 8 + 2. |
| 1111 ÷ 10 | 商 111,餘數 1 | 15 = 2 × 7 + 1. |
如何計算二進位除法
- 只使用零與一輸入二進位被除數。
- 以相同的無號整數格式輸入非零二進位除數。
- 選擇「計算二進位除法」,執行精確整數除法。
- 查看商與餘數,再以十進位核對結果確認。
二進位除法常見問題
如何驗證商與餘數?
將除數乘以商,再加上餘數。總和必須等於原被除數,且餘數必須小於除數。
為什麼不能除以零?
任何數乘以零都無法還原非零被除數,因此零除數無法定義唯一的有限商。
計算器會顯示二進位小數位嗎?
不會。它執行整數除法,將剩餘部分保留為餘數,結果精確且明確。
前置零會改變除法結果嗎?
不會。前置零不會改變任一無號運算元的數值,也不會改變商與餘數。
餘數可以等於除數嗎?
不可以。若餘數至少等於除數,就還能再減去一個除數,代表商尚未計算完成。