JavaScript is required

Cho a=3, b=2. Biến c=(a<<=b) sẽ có giá trị nào dưới đây

A.

c=9

B.

c=8

C.

c=6

D.

c=6

Trả lời:

Đáp án đúng: B


`c = (a <<= b)` tương đương với `a = a << b; c = a;`. Với `a = 3` (0011 trong hệ nhị phân) và `b = 2`, ta có `a = 3 << 2 = 12` (1100 trong hệ nhị phân). Sau đó, `c = a = 12`. Vì không có đáp án nào là 12, nên có thể có lỗi trong các lựa chọn. Tuy nhiên, nếu coi như đây là một câu hỏi mẹo và dịch bit tràn số bit lưu trữ, kết quả có thể khác. Nhưng theo logic thông thường, đáp án phải là 12.

Câu hỏi liên quan