=BITAND(<Number1>, <Number2>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Number1 | number | Yes | ตัวเลขตัวแรก (มักเป็นค่า flags หรือ bitmask) | |
| Number2 | number | Yes | ตัวเลขตัวที่สอง (มักเป็นค่า mask ที่ต้องการตรวจ) |
เช่น flags เก็บสิทธิ์/สถานะหลายตัว แล้วตรวจเฉพาะแฟลกที่ต้องการ
คืนค่าบิตที่ตรงกันเพื่อใช้วิเคราะห์/ทำเงื่อนไขต่อ
Has Flag 4 = BITAND([Flags], 4) > 0Has Flag 4 =
BITAND([Flags], 4) > 0
คืน TRUE เมื่อ [Flags] มีบิต 4 ถูกเปิดอยู่
Has Flags 1 and 4 = BITAND([Flags], 5) = 5Has Flags 1 and 4 =
BITAND([Flags], 5) = 5
คืน TRUE เมื่อมีทั้งแฟลก 1 และ 4
Mask Result = BITAND(13, 6)Mask Result =
BITAND(13, 6)
คืนผลลัพธ์เป็นตัวเลขตามบิตที่ตรงกัน
คืนค่าเป็นตัวเลข (integer) ซึ่งเป็นผลลัพธ์ของการทำ AND แบบบิต
ใช้เมื่อข้อมูลสถานะ/สิทธิ์ถูกเข้ารหัสเป็นบิตในตัวเลขเดียว และคุณต้องการตรวจว่าบิตบางตัวถูกเปิดอยู่หรือไม่
BITAND ใช้คำนวณ AND แบบบิตระหว่างตัวเลขสองค่า (bitwise AND) โดยเปรียบเทียบบิตตำแหน่งเดียวกันของ Number1 และ Number2 เหมาะกับงานที่ใช้ “บิตแฟลก” (bit flags) หรือ bitmask เช่น เก็บสถานะหลายค่าไว้ในตัวเลขเดียว แล้วต้องการตรวจว่ามีแฟลกบางตัวถูกเปิดอยู่หรือไม่