Ek unsigned integer x base 2 mein likha jaata hai:
x=∑i=0n−1bi2i,bi∈{0,1}
Bit i ki place value2i hoti hai. Bit 0 sabse rightmost hai = Least Significant Bit (LSB).
Negative numbers two's complement use karte hain: −x=(¬x)+1 (saare bits flip karo, 1 add karo).
Yahi ek fact hai jo neeche x & -x trick ka secret hai.
XOR truth table: 0^0=0, 1^1=0, 0^1=1, 1^0=1. Bit 1 hai ⟺ inputs differ karte hain.
Teen laws seedhe table se derive karo:
Identity:a⊕0=a (0 ke saath XOR karne se bits unchanged rehti hain — kuch apne aap se differ nahi karta, sivaay jahan a=1 aur 0 ho... check: 1⊕0=1,0⊕0=0 ✓).
Self-inverse:a⊕a=0 (har bit apne aap ke barabar hai → saare "differ" tests false hain).
Commutative & associative: kyunki har bit independent hai, order matter nahi karta.
Derive karo. Maano lowest set bit position k par hai, toh
x=high bitsa1k zeros0⋯0
Two's complement: −x=¬x+1. Flip karne se aˉ01⋯1 milta hai; 1 add karne se trailing ones mein ripple hota hai:
−x=aˉ1k0⋯0
Ab AND karo. High bits: a&aˉ=0. Position k: 1&1=1. Trailing: 0&0=0.
x&−x=2k — exactly isolated lowest set bit.
Lowest set bit (2k) isolate karta hai; two's complement us bit ko aligned rakhta hai aur upar sab cancel kar deta hai.
x & (x-1) kya karta hai?
Lowest set bit clear karta hai.
Power of two test?
x != 0 && (x & (x-1)) == 0.
Brian Kernighan popcount complexity?
O(#set bits) — har loop mein ek set bit remove hoti hai.
x << k aur x >> k arithmetically kya hain?
x⋅2k aur ⌊x/2k⌋.
0..n mein missing number XOR se kaise dhundein?
Saare indices 0..n ko array ke saare elements ke saath XOR karo; missing value survive karti hai.
XOR swap aliased variables ke liye kyun fail karta hai?
a ^= a value zero kar deta hai, toh dono 0 ho jaate hain.
Recall Feynman: ek 12-saal ke bachche ko explain karo
Ek row light switches imagine karo. XOR ek magic toggle hai: kisi switch ko do baar flip karo aur aisa lagta hai jaise tune chhua hi nahi — toh jo bhi number even number of times aata hai woh gayab ho jaata hai, aur sirf odd wala chalta rahta hai glowing. x & -x ek flashlight hai jo lowest switch dhundti hai jo ON hai. Aur kitne lights ON hain ginne ke liye, Brian Kernighan ka trick baar baar lowest ON light band karta jaata hai aur count karta hai kitni baar kiya.