Operator Bitwise AND (&) เปรียบเทียบบิตของตัวเลขสองจำนวนแบบคู่ต่อคู่ ผลลัพธ์เป็น 1 ก็ต่อเมื่อทั้งสองบิตเป็น 1 มิฉะนั้นเป็น 0
ตัวอย่างโค้ด
<!DOCTYPE html>
<html>
<body>
<script>
document.write("Bitwise AND Operator<br>");
// 7 = 00000000000000000000000000000111
// 1 = 00000000000000000000000000000001
document.write(7 & 1); // ผลลัพธ์: 1
</script>
</body>
</html>
การคำนวณ
7: 00000111 1: 00000001 ------------- 7&1: 00000001 = 1
การใช้งานทั่วไป
- ตรวจสอบ Flag/Permission:
if (permission & READ) - Masking (เก็บบิตบางส่วน):
value & 0xFF(เก็บ 8 บิตล่าง) - เช็คเลขคู่/คี่:
(num & 1) === 1→ คี่,0→ คู่ - หาร 2^n แบบเร็ว:
num & (n - 1)เทียบเท่าnum % nเมื่อ n เป็น 2^x