JavaScript is required

What will be the output of the program?
Media VietJack

A.
1 1 1 1
B.
1 0 0 1
C.
1 0 1 1
D.
Other
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