Ta có:
Với " Lấy bù 2" :C++ Code:
a-b= a+ (-b) 1.if(a > 0) chuyển luôn wa số nhị phân else { -> Chuyển về số dương -> Chuyển sang số nhị phân -> Lấy bù hai } 2.if(b > 0) { ->Chuyển luôn wa số nhị phân } else { -> Chuyển về số dương -> Chuyển sang số nhị phân } -> Lấy bù hai
Cuối cùng:1.Lấy bù 1:
Xor bit của nó : ex với 0111000 sau khi Xor thành 1000111 ( 1-> 0, 0->1)
2. +1:
Code:1000111 +1 -------- 1001000
Tiến hành cộng bình thường hai số đó khi đã chuyển dấu.
Convert -> số thập phân.
Mình chỉ gợi ý như vậy thui, còn lại về cộng ( tìm hiểu bộ cộng nhị phân ) thì bạn phải tự tìm hiểu thui.Chú ý phép cộng có thể gây tràn số.
Tài liệu cụ thể: Tìm các tài liệu về Kiến trúc máy tính
Còn để máy hiểu là số nhập vào là nhị phân thì nhập chuỗi toàn 0 và 1.
Rồi tiến hành cộng trên chuỗi thui ( vì nếu nhập vào số integer 0011 thì máy sẽ hiểu là 11 vì 0 đứng đầu trong khi ta cần nó là số 3).
Thân.