Bird
Raised Fist0
DSA Pythonprogramming~5 mins

Set Clear Toggle a Specific Bit in DSA Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does it mean to set a specific bit in a number?
Setting a bit means changing that bit to 1, regardless of its current value.
Click to reveal answer
beginner
How do you clear a specific bit in a number?
Clearing a bit means changing that bit to 0, regardless of its current value.
Click to reveal answer
beginner
What does toggle a bit mean?
Toggling a bit means changing it from 0 to 1 or from 1 to 0.
Click to reveal answer
beginner
Which operator is used to set a bit at position pos in Python?
Use the bitwise OR operator (|) with (1 << pos). Example: num | (1 << pos)
Click to reveal answer
beginner
How do you clear a bit at position pos using bitwise operators?
Use bitwise AND (&) with the negation of (1 << pos): num & ~(1 << pos)
Click to reveal answer
What is the result of setting bit 2 (0-based) in the number 8 (binary 1000)?
A12 (binary 1100)
B10 (binary 1010)
C14 (binary 1110)
D8 (binary 1000)
Which operation toggles a bit at position pos?
Anum | (1 << pos)
Bnum & ~(1 << pos)
Cnum << pos
Dnum ^ (1 << pos)
Clearing a bit means:
AFlipping its value
BSetting it to 1
CSetting it to 0
DLeaving it unchanged
What does the expression num & ~(1 << pos) do?
ASets bit pos to 1
BClears bit pos to 0
CToggles bit pos
DChecks if bit pos is set
If num = 5 (binary 0101), what is the result of toggling bit 0?
A4 (binary 0100)
B7 (binary 0111)
C1 (binary 0001)
D5 (binary 0101)
Explain how to set, clear, and toggle a specific bit in a number using bitwise operators.
Think about how each operator affects bits at a given position.
You got /3 concepts.
    Describe a real-life example where setting, clearing, or toggling bits might be useful.
    Think about simple yes/no settings stored in one number.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the operation num | (1 << k) do to the number num in terms of its bits?
      easy
      A. Sets the k-th bit of num to 1
      B. Clears the k-th bit of num to 0
      C. Toggles the k-th bit of num
      D. Checks if the k-th bit of num is set

      Solution

      1. Step 1: Understand bitwise OR with shifted 1

        The expression 1 << k creates a number with only the k-th bit set to 1.
      2. Step 2: Apply OR operation to set bit

        Using num | (1 << k) sets the k-th bit of num to 1 without changing other bits.
      3. Final Answer:

        Sets the k-th bit of num to 1 -> Option A
      4. Quick Check:

        OR with 1 at bit k sets that bit [OK]
      Hint: Use OR with 1 shifted to set a bit [OK]
      Common Mistakes:
      • Confusing OR with AND operation
      • Thinking it clears or toggles the bit
      • Misunderstanding bit positions starting at 0
      2. Which of the following Python expressions correctly clears (sets to 0) the k-th bit of an integer num?
      easy
      A. num & (1 << k)
      B. num ^ (1 << k)
      C. num | ~(1 << k)
      D. num & ~(1 << k)

      Solution

      1. Step 1: Understand clearing a bit

        To clear the k-th bit, we want to keep all bits except the k-th bit set to 0.
      2. Step 2: Use AND with NOT mask

        The mask ~(1 << k) has all bits set to 1 except the k-th bit which is 0. ANDing with this clears the k-th bit.
      3. Final Answer:

        num & ~(1 << k) -> Option D
      4. Quick Check:

        AND with inverted mask clears bit [OK]
      Hint: AND with NOT of shifted 1 clears bit [OK]
      Common Mistakes:
      • Using OR instead of AND to clear bits
      • Forgetting to invert the mask
      • Using XOR which toggles instead of clears
      3. What is the output of the following code?
      num = 42  # binary 101010
      k = 1
      result = num ^ (1 << k)
      print(result)
      medium
      A. 40
      B. 43
      C. 44
      D. 41

      Solution

      1. Step 1: Convert num and identify bit

        42 in binary is 101010. The bit positions (0-based) from right are: bit 0=0, bit 1=1, bit 2=0, bit 3=1, bit 4=0, bit 5=1.
      2. Step 2: Toggle bit 1 using XOR

        1 << 1 is 2 (binary 10). XOR toggles bit 1: original bit 1 is 1, toggled to 0. So binary becomes 101000 which is 40 decimal.
      3. Final Answer:

        40 -> Option A
      4. Quick Check:

        XOR toggles bit 1 from 1 to 0 [OK]
      Hint: XOR toggles bit; check original bit to find result [OK]
      Common Mistakes:
      • Confusing XOR with OR or AND
      • Miscounting bit positions
      • Forgetting bits are zero-indexed from right
      4. The following code is intended to clear the 3rd bit (0-based) of num. What is the error?
      num = 29  # binary 11101
      k = 3
      num = num | ~(1 << k)
      print(num)
      medium
      A. Incorrect bit shift direction
      B. Using OR instead of AND to clear the bit
      C. Missing parentheses around bitwise NOT
      D. No error, code works correctly

      Solution

      1. Step 1: Understand clearing bit logic

        To clear a bit, we must AND with the inverse mask, not OR.
      2. Step 2: Identify incorrect operator usage

        The code uses OR (|) which sets bits, so it cannot clear the bit. It should use AND (&).
      3. Final Answer:

        Using OR instead of AND to clear the bit -> Option B
      4. Quick Check:

        Clear bit requires AND with NOT mask [OK]
      Hint: Clear bit uses AND with NOT mask, not OR [OK]
      Common Mistakes:
      • Using OR instead of AND to clear bits
      • Confusing bitwise NOT precedence
      • Assuming code works without testing
      5. You have a number num = 0. You want to toggle bits 0, 2, and 4 in sequence using the expression num = num ^ (1 << k). What is the final decimal value of num after toggling these bits?
      hard
      A. 15
      B. 31
      C. 21
      D. 10

      Solution

      1. Step 1: Toggle bit 0 on num=0

        num = 0 ^ (1 << 0) = 0 ^ 1 = 1 (binary 00001)
      2. Step 2: Toggle bit 2 on num=1

        num = 1 ^ (1 << 2) = 1 ^ 4 = 5 (binary 00101)
      3. Step 3: Toggle bit 4 on num=5

        num = 5 ^ (1 << 4) = 5 ^ 16 = 21 (binary 10101)
      4. Final Answer:

        21 -> Option C
      5. Quick Check:

        Toggling bits 0,2,4 sets bits to 1, sum 1+4+16=21 [OK]
      Hint: Toggle bits one by one with XOR, sum powers of two [OK]
      Common Mistakes:
      • Toggling bits in wrong order
      • Miscounting bit positions
      • Adding instead of XORing bits
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard