Trả lời:
Đáp án đúng: A
Đoạn code trên thực hiện các phép toán trên các bit của số nguyên `a`. Ban đầu, `a` được gán giá trị 7, tương đương với biểu diễn nhị phân `0111`.
1. `a >>= 1;` Dịch phải `a` một bit. Kết quả là `a` trở thành 3, tương đương `0011`.
2. `a &= 5;` Thực hiện phép AND giữa `a` và 5 (tương đương `0101`). Kết quả là `a` trở thành 1, tương đương `0001`.
3. `a |= 6;` Thực hiện phép OR giữa `a` và 6 (tương đương `0110`). Kết quả là `a` trở thành 7, tương đương `0111`.
4. `a ^= 3;` Thực hiện phép XOR giữa `a` và 3 (tương đương `0011`). Kết quả là `a` trở thành 4, tương đương `0100`.
5. `a = ~a;` Đảo bit của `a`. Kết quả là `a` trở thành -5 (do biểu diễn số âm bù hai). Tuy nhiên, do kiểu dữ liệu là `int` nên khi in ra sẽ là một số khác tuỳ thuộc vào số bit biểu diễn của `int` (ví dụ int 32 bit thì kết quả là -5, int 64 bit thì kết quả sẽ khác. Tuy nhiên trong bài này kiểu dữ liệu không quan trọng)
6. `a = ~a;` Đảo bit của `a` một lần nữa. Kết quả là `a` trở về giá trị ban đầu trước khi đảo bit lần đầu, tức là `a` trở lại 4.
7. Cuối cùng `++a` tăng `a` lên 1 đơn vị. Do đó, giá trị cuối cùng của `a` là 5.
Vậy đáp án đúng là C. 5
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
