Phép trừ số nhị phân dùng số bù 2
Phép toán dùng số bù 1 có một bất tiện là ta phải thêm bài toán cộng 1 vào, để tránh việc này ta dùng phép toán với số bù 2 Cho hai số dương A và B có n bit Vậy A-B có được bằng cách cộng ...
Phép toán dùng số bù 1 có một bất tiện là ta phải thêm bài toán cộng 1 vào, để tránh việc này ta dùng phép toán với số bù 2
Cho hai số dương A và B có n bit
Vậy A-Bcó được bằng cách cộng số bù 2 của B vào A rồi lấy bù 2 của tổng và thêm dấu trừ. Như vậy ta đã chuyển phép tính trừ thành phép cộng
Thí dụ 6: Tính 1001 - 11010 dùng số bù 2
Ta có A = 01001 (thêm số 0 vào để có 5 bit như số B)
B = 11010 ⇒ (N2)2 = 00110
A-B= - [A+(B)2]2 = - (01001+00110) =- (01111)2
= - (10001)
Ta được lại kết quả trên
Để thấy dấu trừ được nhận ra như thế nào, ta viết lại phép toán:
Không có số tràn là dấu hiệu của kết quả âm và ta phải lấy bù 2, thêm dấu trừ để đọc kết quả cuối cùng: (01111)2 = - 10001
b/ - A ≥ B
Kết quả A-Blà 0 hoặc số dương, phép tính được thực hiện theo qui tắc sau:
Cộng A với (B)2 và không quan tâm tới số nhớ ở vị trí 2n
Thí dụ 7 : Tính 110101 - 100110 dùng số bù 2
A = 110101 và B = 100110 ⇒ (B)2 = 011010
Có số tràn, kết quả là số dương. Bỏ qua số tràn và đọc ngay kết quả mà không phải biến đổi: 001111 = 1510
Thí dụ 8 : Tính 10110 - 10110
A = 10110 và B = 10110 ⇒ (B)2 = 01010
Bỏ qua số tràn ta được A-B=00000.