ใช้ bitwise operators พร้อม bitshift เพื่อเลื่อน bit ไปตำแหน่งที่ต้องการ
1. Set bit (ตั้งค่าเป็น 1)
ใช้ bitwise OR (|)
i |= (1 << n); // ตั้ง bit ที่ n เป็น 1
ตัวอย่าง: n=4 → 1<<4 = 16 (binary 10000)
2. Clear bit (ล้างค่าเป็น 0)
ใช้ bitwise AND (&) กับ NOT (~)
i &= ~(1 << n); // ล้าง bit ที่ n เป็น 0
ตัวอย่าง: i=6 (110), n=1 → ~(1<<1)=~(10)=...101 → 110 & 101 = 100 (4)
3. Toggle bit (สลับ 0↔1)
ใช้ bitwise XOR (^)
i ^= (1 << n); // สลับ bit ที่ n
ตัวอย่าง: i=6 (110), n=1 → 110 ^ 010 = 100 (4)
โค้ดทดสอบแบบ interactive
// Set bit int i = 0, n; cin >> n; i |= (1 << n); cout << i; // Clear bit int i = 6, n; cin >> n; i &= ~(1 << n); cout << i; // Toggle bit int i = 6, n; cin >> n; i ^= (1 << n); cout << i;