二進位減法計算器
使用標準借位或二補數執行二進位減法,並顯示逐步解答與十進位等值。
輸入二進位形式的被減數與減數,選擇計算方法,即可立即查看結果。
二進位減法計算器
使用標準借位或二補數執行二進位減法,並顯示逐步解答與十進位等值。
從右到左逐欄相減,需要時向較高位借位——這是經典的紙筆計算方法。
關於二進位減法
二進位減法是四種基本二進位算術運算之一,主要有兩種做法:標準借位法與二補數法。理解這兩種方法,對資訊科學學生、數位電子設計人員,以及任何需要在位元層級工作的人都很有價值。
標準借位法類似十進位長減法。將兩個二進位數依最右側位元對齊,然後從右到左逐欄相減。當上方數字小於下方數字時(也就是需要從 0 減 1),就向下一個較高位欄借位,暫時將它降低一位,並在目前位置加 2——這相當於十進位減法中借 10。這個過程會持續到所有欄位都處理完。此方法直觀,也容易手算驗證。
二補數法幾乎是所有現代處理器與微控制器在硬體中實際實作減法的方式。要計算 A 減 B,先求 B 的二補數:反轉 B 的所有位元(一補數),再加 1。接著使用標準二進位加法,將 A 與 B 的二補數相加。最高有效位元產生的任何進位都會被捨棄。結果就是二補數表示中的 A − B。硬體偏好這種方法,因為它不需要獨立的減法電路——一個加法器即可同時完成加法與減法。
二補數也是電腦硬體中表示有號整數的通用標準。在 n 位元二補數系統中,正數以一般方式表示,負數則表示為其二補數。n 位元有號二補數整數的範圍是 −2^(n−1) 到 2^(n−1) − 1。對 8 位元整數而言,就是 −128 到 127。這種表示法讓溢位偵測變得直接:當進入符號位元的進位與離開符號位元的進位不同時,就發生溢位。
在被減數大於或等於減數的情況下,兩種方法會得到相同結果。當被減數較小時,標準借位法需要負的前導借位,而二補數法會在給定位元寬度內自然產生正確的有號結果。本計算器會處理這兩種情況,並在標準借位模式下結果為負時提出提示。
二進位減法範例
示範標準借位法與二補數法的練習範例。
| 運算 | 二進位結果 | 十進位檢查 |
|---|---|---|
| 1101 − 101(標準借位) | 1000 | 13 − 5 = 8 ✓。高位不需要借位;個位發生借位。 |
| 10010 − 1011(標準借位) | 111 | 18 − 11 = 7 ✓。需要跨四欄多次借位。 |
| 1100 − 111(二補數) | 101 | 12 − 7 = 5 ✓。0111 的二補數是 1001;1100 + 1001 = 10101;捨棄進位 → 0101。 |
| 11110000 − 10101011(標準借位) | 1000101 | 240 − 171 = 69 ✓。一次跨八個二進位數字的複雜多重借位減法。 |
如何使用二進位減法計算器
- 在第一個欄位輸入被減數(要從中減去的數),只能使用二進位數字 0 和 1。
- 在第二個欄位輸入減數(要減去的數)。
- 選擇計算方法:「標準借位」用於經典逐欄法,「二補數」用於處理器式方法。
- 切換「顯示逐步過程」,查看中間步驟、借位或二補數轉換。
- 按一下「計算減法」,查看二進位差及其十進位等值。
二進位減法常見問題
二進位減法中的借位是什麼?
二進位減法中的借位,是目前位元位置無法完成相減時(也就是從 0 減 1),從較高位元取一個單位的過程。你從下一個較高欄借 1,這會在目前欄加上 2(二進位 10),把 0 − 1 變成 10 − 1 = 1。這正是十進位減法中借 10 的二進位對應方式。
什麼是二補數,為什麼要使用它?
二補數是一種以二進位表示有號整數的方法,也是一種減法技巧。要計算一個數的二補數,先反轉它的所有位元(得到一補數),再加 1。處理器使用二補數,是因為同一套加法器硬體可以同時處理加法與減法——A 減 B 等同於把 A 加上 B 的二補數。它也讓零只有一種表示,避免早期符號-大小與一補數格式中的歧義。
結果為負數時會發生什麼?
如果被減數小於減數,真實結果就是負數。在標準借位模式下,計算器會標記此情況,因為結果無法表示為正的二進位字串。在二補數模式下,結果會正確表示為負的二補數數字,並顯示有號十進位等值。
CPU 內部如何使用二進位減法?
CPU 透過算術邏輯單元(ALU)使用二補數方法實作減法。ALU 包含一個加法器,單一控制訊號會反轉減數的位元並將進位輸入設為 1,等效於加上二補數。這表示不需要獨立的減法電路,可節省電晶體並簡化設計。最高有效位元的進位輸出用於偵測溢位。
變更方法後結果會不同嗎?
在被減數大於或等於減數的情況下,兩種方法一定會產生相同的最終數值結果,只是中間步驟不同。標準借位法直接在原始數字上操作;二補數法先將減數取負,再相加。兩者都會得到相同的正確差值。
可以從較小的二進位數減去較大的二進位數嗎?
可以,但結果是負數。在標準借位模式下,本計算器會顯示警告,因為正的二進位字串無法表示負數結果。切換到二補數模式即可處理負差值:結果會是該負值的二補數編碼,並顯示帶有負號的有號十進位等值。