JavaScript is required

Thực hiện phép toán sau trong trong hệ nhị phân: 1ABh - 23Ah

A.

1111 1111 0111 0001B

B.

1001 0101 1011 1101B

C.

1011 1101B

D.

1010 1001B

Trả lời:

Đáp án đúng: A


Đầu tiên, ta đổi hai số từ hệ 16 (hệ Hexadecimal) sang hệ nhị phân: 1ABh = 0001 1010 1011 23Ah = 0010 0011 1010 Tiếp theo, thực hiện phép trừ hai số nhị phân: 0001 1010 1011 - 0010 0011 1010 ------------------ Để thực hiện phép trừ, ta cần mượn bit từ các vị trí cao hơn. Đầu tiên, ta sẽ chuyển đổi số trừ thành dạng bù 2. Số bù 1 của 0010 0011 1010 là 1101 1100 0101. Cộng 1 vào số bù 1, ta được số bù 2: 1101 1100 0110. Bây giờ, ta thực hiện phép cộng số bị trừ với số bù 2 của số trừ: 0001 1010 1011 + 1101 1100 0110 ------------------ 10011 0111 0001 Do số bị trừ nhỏ hơn số trừ, kết quả là số âm ở dạng bù 2. Để chuyển về dạng số âm bình thường, ta lấy bù 2 của kết quả: Đảo bit: 0110 1000 1110 Cộng 1: 0110 1000 1111 Vì vậy, kết quả là -0110 1000 1111. Tuy nhiên, không có đáp án nào phù hợp. Có lẽ có một lỗi trong câu hỏi hoặc các đáp án. Nếu chúng ta bỏ qua việc nó là số âm, và tính giá trị tuyệt đối của hiệu hai số thì ta có: 1AB (hệ 16) = 427 (hệ 10) 23A (hệ 16) = 570 (hệ 10) |427 - 570| = 143 (hệ 10) Chuyển 143 sang hệ nhị phân: 10001111. Đáp án gần nhất là 1011 1101B (đáp án 3), tuy nhiên đáp án này cũng không đúng hoàn toàn. Do đó, câu hỏi hoặc các đáp án có thể có lỗi.

Chia sẻ tài liệu ôn thi với 300 câu trắc nghiệm Vi xử lý có đáp án dành cho các bạn sinh viên. Đây cũng là đề cương ôn tập hữu ích giúp bạn hệ thống kiến thức chuẩn bị cho kì thi sắp diễn ra. Mời các bạn tham khảo!


50 câu hỏi 60 phút

Câu hỏi liên quan