什麼是二進位制數的減法?
二進位制數的減法是透過對減數進行二進位制補碼來實現的。二進位制補碼透過以下步驟完成:
- 對每一位取反。即將 1 變成 0,0 變成 1。
- 在結果上加 1。
以下示例說明了使用上述步驟進行二進位制數減法運算。
示例:11101011 - 01100110
需要從第一個值 11101011 中減去第二個值 01100110。
首先對第二個值 01100110 進行二進位制補碼,即按照上面所示的兩個步驟進行。
Step 1: 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 (change 1 to 0 and 0 to 1) Step 2: 1 0 0 1 1 0 0 1 +1 (add 1) 1 0 0 1 1 0 1 0 (resultant) 1 Then, add the resultant to the first value. 1 1 1 0 1 0 1 1 (first value) +1 0 0 1 1 0 1 0 (resultant) 1 0 0 0 0 1 0 1(output) ignore 1 1 1 1 1 1 The output is 10000101.
它可以理解從較大的數中減去較小的數的過程。最高有效位 (MSB) 或最左邊的位設定為 1 以指示負數。MSB 被稱為符號位。其餘 7 位用於表示值。
以下是將較大的數從較小的數中減去的步驟:
- 可以對較小的數進行二進位制補碼。
- 將其用於將結果值加到較小的數上。
- 可以將 MSB 更改為 0。
- 可以對結果數進行二進位制補碼。
MSB 表示負值。
示例:10010101 – 10110100
Step 1: 1 0 1 1 0 1 0 0 (greater number) 0 1 0 0 1 0 1 1 (change 1 for 0 and 0 for 1) 0 1 0 0 1 0 1 1 +1 (add 1) 0 1 0 0 1 1 0 0 1 1 Step 2: 1 0 0 1 0 1 0 1 (smaller number) +0 1 0 0 1 1 0 0 (add the resultant value to smaller number) 1 1 1 0 0 0 0 1 1 1 1 Step 3: 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 (change MSB bit to 0) Step 4: 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 0 (change 1 for 0 and 0 for 1) 1 0 0 1 1 1 1 0 +1 1 0 0 1 1 1 1 1 Output = 10011111 (MSB indicates a negative value)
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP