Bird
Raised Fist0
DSA C#programming~5 mins

Set Clear Toggle a Specific Bit in DSA C# - 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 it mean to toggle a specific bit in a number?
Toggling a bit means changing it from 0 to 1 or from 1 to 0 (flipping its value).
Click to reveal answer
intermediate
In C#, how do you set the 3rd bit (0-based) of an integer variable num?
Use num = num | (1 << 3); which shifts 1 left by 3 and ORs it with num to set the bit.
Click to reveal answer
intermediate
How do you clear the 2nd bit of an integer num in C#?
Use num = num & ~(1 << 2); which shifts 1 left by 2, negates it, and ANDs with num to clear the bit.
Click to reveal answer
Which operator is used to set a specific bit in C#?
ABitwise OR (|)
BBitwise AND (&)
CBitwise XOR (^)
DBitwise NOT (~)
What does the expression 1 << 4 do?
ASets the 4th bit to 1
BShifts 1 left by 4 bits, resulting in 16
CClears the 4th bit
DToggles the 4th bit
How do you toggle the 1st bit of a number num in C#?
Anum = ~num;
Bnum = num & ~(1 << 1);
Cnum = num | (1 << 1);
Dnum = num ^ (1 << 1);
What is the result of clearing a bit that is already 0?
AThe bit becomes 1
BThe entire number becomes 0
CThe bit remains 0
DAn error occurs
Which operator is used to clear a bit in C#?
ABitwise AND (&) with negation
BBitwise OR (|)
CBitwise XOR (^)
DBitwise NOT (~)
Explain how to set, clear, and toggle a specific bit in an integer using bitwise operators.
Think about how each operator affects bits at the target position.
You got /3 concepts.
    Describe what happens when you toggle a bit twice in a row.
    Toggling twice cancels out the change.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the operation number |= (1 << position) do to the bit at position in number?
      easy
      A. Toggles the bit at position
      B. Clears the bit at position to 0
      C. Sets the bit at position to 1
      D. Checks if the bit at position is set

      Solution

      1. Step 1: Understand the bitwise OR with shifted 1

        The expression 1 << position creates a number with only the bit at position set to 1. Using OR (|=) with this sets that bit in number to 1 without changing other bits.
      2. Step 2: Effect on the bit at position

        Since OR with 1 always results in 1, the bit at position is set to 1 regardless of its previous value.
      3. Final Answer:

        Sets the bit at position to 1 -> Option C
      4. Quick Check:

        OR with 1 sets bit [OK]
      Hint: Use OR with shifted 1 to set a bit [OK]
      Common Mistakes:
      • Confusing OR with XOR for toggling
      • Thinking it clears the bit
      • Assuming it checks the bit instead
      2. Which of the following C# statements correctly clears (sets to 0) the bit at position pos in an integer num?
      easy
      A. num &= ~(1 << pos);
      B. num |= (1 << pos);
      C. num ^= (1 << pos);
      D. num = num << pos;

      Solution

      1. Step 1: Understand clearing a bit

        To clear a bit, we use AND with the complement of a mask that has 1 at the target bit. The mask is 1 << pos, so complement is ~(1 << pos).
      2. Step 2: Apply AND with complemented mask

        Using num &= ~(1 << pos); clears the bit at pos while leaving others unchanged.
      3. Final Answer:

        num &= ~(1 << pos); -> Option A
      4. Quick Check:

        AND with complement clears bit [OK]
      Hint: Use AND with NOT mask to clear a bit [OK]
      Common Mistakes:
      • Using OR instead of AND to clear
      • Using XOR which toggles instead of clears
      • Using left shift alone which changes number
      3. What is the output of the following C# code?
      int num = 10; // binary 1010
      int pos = 1;
      num ^= (1 << pos);
      Console.WriteLine(num);
      medium
      A. 10
      B. 14
      C. 12
      D. 8

      Solution

      1. Step 1: Understand initial number and bit position

        Number 10 in binary is 1010. Position 1 means the second bit from right (0-based). Bit at position 1 is 1.
      2. Step 2: Apply XOR to toggle bit at position 1

        XOR toggles the bit. Since bit at position 1 is 1, toggling it changes it to 0. New binary is 1000 which is decimal 8.
      3. Final Answer:

        8 -> Option D
      4. Quick Check:

        Toggle bit 1 in 1010 = 1000 = 8 [OK]
      Hint: XOR toggles bit; 1 becomes 0, 0 becomes 1 [OK]
      Common Mistakes:
      • Confusing XOR with OR or AND
      • Miscounting bit positions (0-based)
      • Assuming no change if bit is 1
      4. The following code is intended to toggle the bit at position pos in num. What is the error?
      int num = 5; // binary 0101
      int pos = 2;
      num = num & (1 << pos);
      Console.WriteLine(num);
      medium
      A. It clears all bits except the one at pos
      B. It toggles the bit correctly
      C. It sets the bit at pos to 1
      D. It causes a syntax error

      Solution

      1. Step 1: Analyze the operation used

        The code uses AND (&) with 1 << pos. This keeps only the bit at pos if it was set, clearing all others.
      2. Step 2: Compare with toggle operation

        Toggling requires XOR (^), not AND. So this code does not toggle but masks all bits except the one at pos.
      3. Final Answer:

        It clears all bits except the one at pos -> Option A
      4. Quick Check:

        AND with mask keeps only that bit [OK]
      Hint: Use XOR to toggle, AND masks bits [OK]
      Common Mistakes:
      • Using AND instead of XOR for toggle
      • Expecting toggle but getting masked value
      • Confusing bitwise operators
      5. You have an integer num and want to toggle the bit at position pos only if it is currently set (1). Which code snippet correctly does this?
      hard
      A. if ((num ^ (1 << pos)) != 0) num ^= (1 << pos);
      B. if ((num & (1 << pos)) != 0) num ^= (1 << pos);
      C. if ((num & ~(1 << pos)) != 0) num ^= (1 << pos);
      D. if ((num | (1 << pos)) != 0) num ^= (1 << pos);

      Solution

      1. Step 1: Check if bit at pos is set

        Using num & (1 << pos) checks if bit at pos is 1. If result is not zero, bit is set.
      2. Step 2: Toggle bit only if set

        If bit is set, toggle it using XOR: num ^= (1 << pos);. This flips the bit from 1 to 0.
      3. Final Answer:

        if ((num & (1 << pos)) != 0) num ^= (1 << pos); -> Option B
      4. Quick Check:

        Check bit with AND, toggle with XOR [OK]
      Hint: Check bit with AND before toggling with XOR [OK]
      Common Mistakes:
      • Using OR instead of AND to check bit
      • Toggling without checking bit first
      • Using incorrect mask complement
      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