Trả lời:
Đáp án đúng: C
Đoạn code trên thực hiện các thao tác bitwise (thao tác trên bit) trên các số nguyên.
1. **`a = 5; // 0101`**: Khởi tạo biến `a` bằng giá trị 5 (biểu diễn nhị phân là 0101).
2. **`b = 12; // 1100`**: Khởi tạo biến `b` bằng giá trị 12 (biểu diễn nhị phân là 1100).
3. **`c = a & b; // 0101 & 1100 = 0100 = 4`**: Thực hiện phép AND bitwise giữa `a` và `b`. Kết quả (0100) tương ứng với giá trị 4.
4. **`d = a | b; // 0101 | 1100 = 1101 = 13`**: Thực hiện phép OR bitwise giữa `a` và `b`. Kết quả (1101) tương ứng với giá trị 13.
5. **`e = a ^ b; // 0101 ^ 1100 = 1001 = 9`**: Thực hiện phép XOR bitwise giữa `a` và `b`. Kết quả (1001) tương ứng với giá trị 9.
6. **`f = ~a; // ~0101 = 1010 = 10`**: Thực hiện phép NOT bitwise trên `a`. Kết quả có thể khác nhau tuỳ vào hệ thống, nhưng vì `a` là số nguyên dương, phép lấy bù 1 sẽ đảo các bit (0 thành 1 và 1 thành 0). Vì kiểu dữ liệu là `int`, `f` sẽ có giá trị là -6. Nhưng đoạn code sau đó lấy `f > 0 ? 1 : 0` nên sẽ in ra `0`.
Sau đó, code in ra các giá trị: `(c > 0 ? 1 : 0)` , `(f > 0 ? 1 : 0)` , `(d > 0 ? 1 : 0)` , `(e > 0 ? 1 : 0)`.
- `c > 0` (4 > 0) là đúng, nên in ra `1`.
- `f > 0` (-6 > 0) là sai, nên in ra `0`.
- `d > 0` (13 > 0) là đúng, nên in ra `1`.
- `e > 0` (9 > 0) là đúng, nên in ra `1`.
Vậy, output của chương trình sẽ là "1 0 1 1".
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
