Định nghĩa
Thực hiện AND trên từng bit của hai số nguyên 32-bit. Kết quả bit = 1 chỉ khi cả hai bit đều là 1.
Bảng chân lý bit
| a | b | a & b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
Ví dụ
<script>
var a = 2; // 10
var b = 3; // 11
document.write("(a & b) = " + (a & b)); // 2 (10)
</script>
Ứng dụng phổ biến
- Kiểm tra bit (test flag):
(flags & MASK) !== 0. - Clear bit (tắt flag):
flags &= ~MASK. - Lấy phần thấp:
value & 0xFF(byte thấp),value & 0xFFFF(word thấp). - Kiểm tra chẵn/lẻ nhanh:
(n & 1) === 0(chẵn),(n & 1) === 1(lẻ). - Làm tròn xuống 2^n:
value & ~(2^n - 1).
Lưu ý
- Toán hạng chuyển sang signed 32-bit int.
&khác&&(logical AND) – bitwise trả về số, luôn đánh giá cả hai.- Dùng ngoặc đơn khi kết hợp:
(a & b) === c.