By
on January 2, 2012
Để biểu diễn số Âm trong máy tính thông thường người ta sử dụng phương pháp Bù 2.
Topic này được viết để bổ sung kiến thức cho Topic //duythanhcse.wordpress.com/2012/01/01/cac-vi-d%E1%BB%A5-v%E1%BB%81-java-assignment-operator/ [Java Assignment Operator]
Theo phương pháp này, bit cực trái hay còn gọi là bit nằm bên trái cùng của byte được sử dụng làm bit dấu [ là bit tượng trung cho dấu của số – sign bit]. Người ta quy ước: Nếu bit dấu là 0 thì số là số dương, nếu bit dấu 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ụ 1:
Tôi lấy số -45 ở hệ thập phân, số này sẽ được biểu diễn trong máy tính theo phương pháp bù 2 như sau [ Tôi chọn mẫu 8 bit]:
Bước 1: Xác định số nguyên 45 ở hệ thập phân được biểu diễn trong máy tính là : 0010 1101
Bước 2: Đảo tất cả các bit nhận được ở bước 1. Kết quả bạn sẽ được: 1101 0010
Bước 3: Cộng thêm 1 vào kết quả thu được ở bước 2. Kết quả sau khi cộng: 1101 0011
Bước 4: Vì là biểu diễn số âm nên bit cực trái luôn giữ là 1.
Vậy với phương phá bù 2, số -45 ở hệ thập phân được biểu diễn trong máy tính như sau: 1101 0011
Ví dụ 2:
Tôi lấy số nguyên -5 ở hệ thập phân, nó sẽ được biểu diễn trong máy tính theo phương pháp bù 2 như sau [ cũng lấy mẫu 8 bit]:
Bước 1: Xác định số nguyên 5 ở hệ thập phân được biểu diễn dạng nhị phân trong máy tính như sau: 0000 0101
Bước 2: Đảo tất cả các bit nhận được ở bước 1. Ta được như sau: 1111 1010
Bước 3: Cộng thêm 1 vào kết quả thu được ở bước 2, ta được: 1111 1011.
Bước 4: Vì là biểu diễn số âm nên bit cực trái luôn giữ là 1
Như vậy với phương pháp bù 2 thì số -5 ở hệ thập phân được biểu diễn trong máy tính như sau: 1111 1011
Để giúp các bạn hiểu rõ hơn, Tôi sẽ thực hiện 2 phép cộng số thập phân âm [ 00000010
Tiến hành cộng thêm 1 vào 00000010, như vậy ta được 00000011. Ta đổi qua hệ thập phân = 2^1 +2^0 =2+1 =3, cộng với dấu đằng trước của nó là dấu Âm, do đó 1 1 1 1 1 1 0 1 sẽ có giá trị là -3
Ví dụ 4: Tôi sẽ cộng số -5 với -7 [cũng dùng mẫu 8 bit]
Cũng dùng phương pháp bù 2 để biểu diệ n-5 và -7 thành số nhị phân, Số -5 bạn đã biết nó có giá trị 1111 1011. Còn số -7 nếu bạn chưa biết biểu diễn thì bạn chưa hiểu cách tính, bạn phải coi lại 4 bước bên trên. Coi lại mà chưa hiểu tiếp thì chắc ăn Tôi sẽ biểu diện lại cho bạn xem bên dưới:
Bước 1: Xác định số nguyên 7 bên hệ thập phân được biểu diễn sang nhị phân là: 0000 0111
Bước 2: Đảo tất cả các bit nhận được từ bước 1, ta sẽ được: 1111 1 000
Bước 3: Cộng 1 vào kết quả nhận được ở bước 2, ta được: 1111 1001
Bước 4: Vì là số âm nên bit cực trái là 1
Như vậy số -7 được biểu diễn đưới dạng nhị phân trong máy tính là: 1111 1001
Bây giờ ta tiến hành Cộng -5 và -7
1111 1011 + 1111 1001 —————–
1111 0100
Bạn để ý rằng, khi cộng 2 bit cực trái của 2 số trên, ta vẫn còn nhớ 1, Nhưng mà trong kết quả này ta bỏ bit dấu này đi
Bây giờ cũng tương tự, Tôi hỏi lại các bạn số nhị phân 1111 0100 thì số thập phân của nó là bao nhiêu?
Tôi sẽ một lần nữa làm lại cho các bạn: Tiến hành đảo bit 1111 0100 bạn sẽ được 0000 1011 , sau đó cộng 1 vào ta được 0000 1100
Như vậy bạn sẽ được 2^3+ 2^2 =8+4=12, với bit dấu là âm, Tức là ta được kết quả -12.
Chúc các bạn Thành Công.
Skip to content
Bài viết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. Bù 2 [tiếng Anh: two’s complement] là một số trong hệ nhị phân là bù đú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]:
- Bước 1: xác định số nguyên 5 ở hệ thập phân được biểu diễn trong máy tính là: 0000 0101.
- Bước 2: đảo tất cả các bit nhận được ở bước 1. Kết quả sau khi đảo là: 1111 1010.
- Bước 3: cộng thêm 1 vào kết quả thu được ở bước 2: kết quả sau khi cộng: 1111 1011.
- Bước 4: vì là biểu diễn số âm nên bit bên trái cùng luôn giữ là 1.
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]:
- Bước 1: xác định số nguyên 5 ở hệ thập phân được biểu diễn trong máy tính là: 0000 0101.
- Bước 2: bắt đầu tìm [từ phải qua trái] bit đầu tiên có giá trị 1, ta thấy, đó là bit thứ nhất [tính từ phải qua].
- Bước 3: đảo tất cả các bit nằm trước bit thu được ở bước 2. Kết quả nhận được: 1111 1011
- Bước 4: vì là biểu diễn số âm nên bit bên trái cùng luôn giữ là 1.
Khi thực hiện phép tính cộng với số âm biểu diễn theo phương pháp bù 2, ta thực hiện như phép cộng nhị phân bình thường, tuy nhiên, trong trường hợp khi đã thực hiện phép cộng đến bit cực trái mà vẫn phát sinh bit nhớ thì ta bỏ bit nhớ này đi.
Ví dụ:
1. Cộng hai số thập phân −5 với 2 [mẫu 8 bit]:
1111 1011 [số bù 2 của −5] + 0000 0010 [số 2 ở hệ nhị phân] =========== 1111 1101 [số bù 2 của −3]2. Cộng hai số thập phân −5 với −7 [mẫu 8 bit]:
1111 1011 [số bù 2 của −5] + 1111 1001 [số bù 2 của −7] =========== 1111 0100 [số bù 2 của −12]Ta thấy: khi cộng hai bit cực trái của hai số 1111 1011 và 1111 1001, ta vẫn còn nhớ 1, tuy nhiên, trong kết quả và ta bỏ bit này đi.
Xét trường hợp ta đang có hai số âm −6 và −4 ở hệ thập phân. Biểu diễn nhị phân bằng phương pháp bù 2 với mẫu 4 bit của hai số trên lần lượt là 1010 và 1100. Giả sử, bây giờ, ta cần cộng hai số này.
Ta thực hiện phép cộng:
1010 [số bù 2 của −6] + 1100 [số bù 2 của −4] ====== 0110Ta thấy, kết quả nhận được là 0110. Nếu đổi ra hệ thập phân, đây là số nguyên dương 6 chứ không phải −10 như mong đợi.
Vấn đề như trên được gọi là tràn số. Nó xảy ra khi ta lấy số lượng bit để biểu diễn quá ít [như trong ví dụ trên là mẫu 4 bit]. Để có thêm thông tin về vấn đề này, xin xem bài tràn số.
Có thể bạn quan tâm Nukuʻalofa là gì? Chi tiết về Nukuʻalofa mới nhất 2021
- Máy tính
- Khoa học máy tính
- Kiến trúc máy tính
- Bù
- Bù 1
- Dấu lượng
- Biểu diễn số âm
- Tràn số
số bù 2 bù 2 mã bù 2 bù 2 của số âm cách đổi số bù 2 phương pháp bù 2 so bu 2 biểu diễn số âm dưới dạng bù 2 số bù 2 của số âm bù 2 của số dương biểu diễn số bù 2 tìm mã bù 2 bu 2 biểu diễn bù 2 số bù 2 của số dương dạng bù 2 bù 1 và bù 2 số bù 2 là gì maã bù 2 two’s complement là gì biểu diễn số bằng phương pháp dấu lượng, bù 1, bù 2 cách đổi số bù 2 c tính bù 2 bu2
số bù
LADIGI – Công ty dịch vụ SEO LADIGI giá rẻ, SEO từ khóa, SEO tổng thể cam kết lên Top Google uy tín chuyên nghiệp, an toàn, hiệu quả.
Tôi là La Trọng Nhơn - người xây dựng nên LADIGI.VN, tôi có niềm đam mê với Digital Marketing. Tôi muốn xây dựng website này để chia sẻ đến những bạn gặp khó khăn khi bắt đầu vào nghề, có thể tiếp cận kiến thức đúng đắn và thực tế thông qua website này.
Vì tính chất bảo mật ĐƯỜNG LINK nên chúng tôi cần xác minh bằng CODE*
HƯỚNG DẪN LẤY CODE [CHỈ MẤT 10 GIÂY]
Bước 1: COPY từ khóa bên dưới [hoặc tự ghi nhớ] gửi hàng đi mỹ Bước 2: Vào google.com.vn và tìm từ khóa. Sau đó, nhấp vào kết quả này của trang này===============================
Vì tính chất bảo mật TÀI KHOẢN nên chúng tôi cần xác minh bằng CODE*
HƯỚNG DẪN LẤY CODE [CHỈ MẤT 10 GIÂY]
Bước 1: COPY từ khóa bên dưới [hoặc tự ghi nhớ]
gửi hàng đi mỹBước 2: Vào google.com.vn và tìm từ khóa. Sau đó, nhấp vào kết quả này của trang này
===============================
NETFLIX có ưu điểm gì:
- Tận hưởng phim bản quyền Chất lượng cao độ phân giải 4K, FHD, âm thanh 5.1 và không quảng cáo như các web xem phim lậu.
- Kho phim đồ sộ, các phim MỸ, TÂY BAN NHA, HÀN, TRUNG, NHẬT đều có đủ và 90% phim có Vietsub.
- Cài trên điện thoại, máy tính, tablet, SmartTv, box đều xem được.