Câu trả lời:
Đây là một toán tử giảm bit khôn ngoan . |a & b
có nghĩa là bạn áp dụng logic HOẶC cho tất cả các bit của a
(tạo ra một bit) và sau đó thực hiện AND logic của bit đó và b
. |a
không có hiệu lực khi a
là một bit đơn.
Tuy nhiên, khá phổ biến khi thấy giảm bit khôn ngoan được áp dụng cho các giá trị bit đơn. Một trường hợp điển hình là mã được tạo tự động trong đó độ rộng thực tế a
có thể phụ thuộc vào cấu hình. Một khả năng khác là đây là mã kế thừa, nơi a
đã từng có một vài bit. Khi a
trở thành một giá trị bit đơn, dòng này vẫn đúng về mặt kỹ thuật nên toán tử giảm không cần thiết bây giờ được để lại.