Phép toán với số có dấu
0 Cho tới giờ chúng ta thực hiện các phép toán với số không dấu và đôi khi xuất hiện dấu trừ trong kết quả. Trong máy tính, điều này có thể khắc phục được bằng cách dùng số có ...
Cho tới giờ chúng ta thực hiện các phép toán với số không dấu và đôi khi xuất hiện dấu trừ trong kết quả. Trong máy tính, điều này có thể khắc phục được bằng cách dùng số có dấu.
Với qui ước số dương có bit dấu là 0 và số âm có dấu là 1
Thí dụ 9: +1010 = 01010 +1510 = 01111 +2310 = 010111
-1010 = 10110 - 1510 = 10001 - 2310 = 101001
Có thể thấy rằng số âm của một số là số bù 2 của nó kể cả bit dấu.
Với cách biểu diễn số có dấu, phép toán trừ trở thành phép toán cộng:
A-B= A+(-B)
Thí dụ 10: Tính A-B=01110 - 01001; B= 01001 = +910 ⇒ - 910 = 10111

Bit dấu =0 chỉ kết quả dương, bỏ bit tràn C’2.
Vậy A-B= 00101 [(+1410 )-(+910)] = +510
Nếu Ahoặc Bđều dương hoặc âm , kết quả có thể cần thêm một bit do tràn số. Trong trường hợp này bit tràn đầu tiên thuộc kết quả và C’2 là bit dấu
Thí dụ 11: Tính A+Bvới A= 01110 (+1410) và B= 01001 (+910)
Kết quả là 010111 = +2310 với C’2 = 0 là bit dấu
Thí dụ 12: Tính A-Bvới A=10010 (-1410) và B=01001 (+910)
Một lần nữa C’2 chỉ bit dấu. Kết quả là 101001 = -2310 (010111 = 2310)
Từ các kết quả trên, ta rút ra qui tắc sau đây:
Nếu C 1 = C 2 thì C’ 2 là bit tràn, bỏ đi và nếu C 1 ≠ C 2 thì C’ 2 là bit dấu.
Thí dụ 13: Tính A-Bvới A=011101 (+2910) và B=0110 (+610)
B= 000110 = +610 ⇒ - 610 = 111010
Ghi chú: - Trong tất cả trường hợp, ta luôn luôn thực hiện phép cộng do đó có thể bỏ qua phép trừ
- Khi cộng hai số hạng cùng dấu thì có thể xảy ra hiện tượng tràn, lúc đó bit dấu dời về bên trái một bit. Trong các trường hợp khác thì dấu của kết quả ở cùng vị trí với dấu của các số hạng
- Ngoài ra kết quả còn được xử lý tùy vào kết quả so sánh sự khác nhau của hai số nhớ C1 và C2 (nhờ một cổng EX-OR).