3.7.20 · HinglishAlgorithm Paradigms

Bit manipulation — XOR tricks, LSB, counting set bits

1,841 words8 min readRead in English

3.7.20 · Coding › Algorithm Paradigms


1. Bit model (first principles)

Ek unsigned integer base 2 mein likha jaata hai: Bit ki place value hoti hai. Bit sabse rightmost hai = Least Significant Bit (LSB).

Negative numbers two's complement use karte hain: (saare bits flip karo, 1 add karo). Yahi ek fact hai jo neeche x & -x trick ka secret hai.


2. XOR — cancellation engine

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:

  1. Identity: (0 ke saath XOR karne se bits unchanged rehti hain — kuch apne aap se differ nahi karta, sivaay jahan aur ho... check: ✓).
  2. Self-inverse: (har bit apne aap ke barabar hai → saare "differ" tests false hain).
  3. Commutative & associative: kyunki har bit independent hai, order matter nahi karta.

3. LSB tricks — x & -x

Derive karo. Maano lowest set bit position par hai, toh Two's complement: . Flip karne se milta hai; 1 add karne se trailing ones mein ripple hota hai: Ab AND karo. High bits: . Position : . Trailing: . — exactly isolated lowest set bit.


4. Set bits count karna (popcount)

Figure — Bit manipulation — XOR tricks, LSB, counting set bits

5. Common mistakes (steel-manned)


Flashcards

LSB kya hai aur uski place value?
Least significant (rightmost) bit, place value .
XOR identity law?
.
XOR self-inverse law?
(duplicates cancel ho jaate hain).
Woh element kaise dhundein jo ek baar appear karta hai jab baaki sab do baar appear karte hain?
Poora array XOR karo; pairs cancel hote hain, unique value bachti hai. /.
x & -x kya compute karta hai, aur kyun?
Lowest set bit () 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?
— har loop mein ek set bit remove hoti hai.
x << k aur x >> k arithmetically kya hain?
aur .
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.

Connections

  • Two's Complement Representation — kyun -x aisa behave karta hai.
  • Hash Sets vs O(1)-space tricks — XOR ek memoryless alternative ke roop mein.
  • Bitmask Dynamic Programming — subsets as integers.
  • Logarithms and Powers of Two
  • Greedy and Divide-and-Conquer (Algorithm Paradigms)

Concept Map

place value 2^i

defines negatives

includes

derive from truth table

self-inverse gives

enables

single number missing number swap

isolate lowest bit

count ON switches

used in

Bit model: integer as bits

Two's complement -x

Core operators AND OR XOR NOT shift

XOR toggle / difference

XOR laws: identity self-inverse assoc

Cancels duplicates

LSB trick x AND -x

Counting set bits popcount

Applications O 1 space