Bitwise Operators 3 ตัว
- Bitwise AND (
&) - Bitwise OR (
|) - Bitwise XOR (
^)
ทั้งหมดต้องการ integral types
1. Bitwise AND (&)
เปรียบเทียบ bit แต่ละคู่: ทั้งคู่เป็น 1 → ผล 1, มิฉะนั้น 0
unsigned short a = 0x5555; // 0101... unsigned short b = 0xAAAA; // 1010... cout << hex << (a & b); // 0
2. Bitwise OR (|)
bit ไหนเป็น 1 → ผล 1, ทั้งคู่ 0 → ผล 0
cout << hex << (a | b); // ffff
3. Bitwise XOR (^)
bit ต่างกัน (0 และ 1) → ผล 1, เหมือนกัน → 0
short a = 0x5555; // 0101... unsigned short b = 0xFFFF; // 1111... cout << hex << (a ^ b); // aaaa (1010...)
สรุปตารางความจริง
| a | b | a & b | a | b | a ^ b |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |