বিটওয়াইজ অপারেটর এবং বাইট শিফ্ট (<<) ব্যবহার করে বিট ম্যানিপুলেশন।
১. বিট সেট (Set bit - 1 করা)
OR (|) অপারেটর ব্যবহার: value |= (1 << n);
int i = 0, n; cin >> n; i |= (1 << n); // n-তম বিট 1 করা cout << i; // n=4 হলে 16 (10000 binary)
২. বিট ক্লিয়ার (Clear bit - 0 করা)
AND (&) এবং NOT (~) ব্যবহার: value &= ~(1 << n);
int i = 6; // binary 110 cin >> n; i &= ~(1 << n); // n-তম বিট 0 করা cout << i; // n=1 হলে 4 (100 binary)
৩. বিট টগল (Toggle bit - ফ্লিপ করা)
XOR (^) ব্যবহার: value ^= (1 << n);
int i = 6; // binary 110 cin >> n; i ^= (1 << n); // n-তম বিট ফ্লিপ cout << i; // n=1 হলে 4 (100 binary)
সারসংক্ষেপ
| অপারেশন | অপারেটর | এক্সপ্রেশন |
|---|---|---|
| Set | | | x \|= (1 << n) |
| Clear | & ~ | x &= ~(1 << n) |
| Toggle | ^ | x ^= (1 << n) |
নোট: n ০-বেসড (LSB = bit 0)। 1u << n ব্যবহার করলে আনসাইনড প্রোমোশন নিশ্চিত হয়।