=BITXOR(<Number1>, <Number2>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Number1 | number | Yes | ตัวเลขตัวแรก (เช่น ค่า flags เดิม) | |
| Number2 | number | Yes | ตัวเลขตัวที่สอง (เช่น mask ของแฟลกที่ต้องการสลับ) |
เปิดถ้ายังไม่เปิด หรือปิดถ้าเปิดอยู่
คืนบิตที่ต่างกันเพื่อใช้วิเคราะห์
Flags (Toggle 4) = BITXOR([Flags], 4)=Flags (Toggle 4) =
BITXOR([Flags], 4)
ได้ค่า flags ใหม่ที่สลับสถานะของแฟลก 4
Different Bits = BITXOR(13, 6)Different Bits =
BITXOR(13, 6)
คืนค่าตัวเลขที่แทนบิตที่ต่างกัน
Flags (Toggle 1 and 8) = BITXOR([Flags], 9)=Flags (Toggle 1 and 8) =
BITXOR([Flags], 9)
สลับแฟลก 1 และ 8 พร้อมกัน
เด่นเรื่องการสลับแฟลก (toggle) เพราะ XOR จะเปลี่ยนสถานะของบิตที่ระบุใน mask เสมอ
BITOR ใช้เปิดบิต (รวมแฟลก) ส่วน BITXOR ใช้สลับบิต (เปิด/ปิดสลับกัน)
BITXOR ใช้คำนวณ XOR แบบบิตระหว่างตัวเลขสองค่า (bitwise XOR) ซึ่งจะให้บิตเป็น 1 เมื่อบิตของ Number1 และ Number2 “ต่างกัน” เหมาะกับงานที่ต้องการสลับแฟลก (toggle) เช่น เปิดถ้ายังไม่เปิด หรือปิดถ้าเปิดอยู่