Bù_2

Bù 2 (tiếng Anh: two's complement) là một số trong hệ nhị phânbù đúng (true complement) của một số khác. Một số bù 2 có được do đảo tất cả các bit có trong số nhị phân (đổi 1 thành 0 và ngược lại) rồi thêm 1 vào kết quả vừa đạt được. Thực chất, số biểu diễn ở dạng bù 2 là số biểu diễn ở bù 1 rồi sau đó cộng thêm 1. Trong quá trình tính toán bằng tay cho nhanh người ta thường sử dụng cách sau: từ phải qua trái giữ 1 đầu tiên và các số còn lại bên trái số 1 lấy đảo lại (chỉ áp dụng cho số có bit cực phải là 1).Phương pháp bù 2 thường được sử dụng để biểu diễn số âm trong máy tính. Theo phương pháp này, bit cực trái (là bit nằm bên trái cùng của byte) được sử dụng làm bit dấu (sign bit - là bit tượng trưng cho dấu của số) với quy ước: nếu bit dấu là 0 thì số là số dương, còn nếu nó là 1 thì số là số âm. Ngoài bit dấu này ra, các bit còn lại được dùng để biểu diễn độ lớn của số.Ví dụ: số nguyên −5 ở hệ thập phân được biểu diễn trong máy tính theo phương pháp bù 2 như sau (với mẫu 8 bit):Ngoài cách làm theo định nghĩa như trên ra, ta còn có thể áp dụng phương pháp bù 2 theo quy tắc sau: với biểu diễn nhị phân của một số dương cho trước, để biểu diễn số âm tương ứng, ta bắt đầu tìm từ phải sang trái cho đến khi gặp bit đầu tiên có giá trị 1. Khi gặp được bit này, ta đảo tất cả các bit từ ngay kề trước nó (tức trước bit có giá trị 1 vừa nói tới) cho đến bit cực trái, và luôn nhớ: bit cực trái là 1.Ví dụ: ta cũng biểu diễn lại số nguyên −5 ở hệ thập phân sang hệ nhị phân theo quy tắc mới này (giả sử với mẫu 8 bit):