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=12.

C.

c=6.

D.
c=8.
Trả lời:

Đáp án đúng: B


Đầu tiên, cần hiểu rõ toán tử <<=. Toán tử này là toán tử gán kết hợp với dịch trái bit. Biểu thức a <<= b tương đương với a = a << b.

Giá trị ban đầu của a là 3 và b là 2.

Phép dịch trái a << b (tức 3 << 2) dịch các bit của a sang trái b vị trí. Số 3 trong hệ nhị phân là 11. Dịch trái 2 vị trí sẽ thành 1100, tương ứng với số 12 trong hệ thập phân.

Sau phép gán a = a << b, giá trị của a sẽ là 12.

Cuối cùng, c = a, nên c sẽ nhận giá trị 12.

Câu hỏi liên quan