Bird
Raised Fist0
DSA Typescriptprogramming~5 mins

Check if Number is Even or Odd Using Bits in DSA Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What bit operation can be used to check if a number is even or odd?
The bitwise AND operation with 1 (number & 1) can be used. If the result is 0, the number is even; if 1, the number is odd.
Click to reveal answer
beginner
Why does checking the least significant bit (LSB) tell us if a number is even or odd?
Because in binary, even numbers always end with 0 and odd numbers end with 1 in their least significant bit.
Click to reveal answer
beginner
TypeScript code snippet: How to check if a number 'n' is odd using bits?
if ((n & 1) === 1) { console.log('Odd'); } else { console.log('Even'); }
Click to reveal answer
beginner
What is the output of (6 & 1) and what does it mean?
(6 & 1) equals 0, which means 6 is even.
Click to reveal answer
intermediate
Can this bitwise method be used for negative numbers to check even or odd?
Yes, because the least significant bit still indicates even or odd regardless of sign in two's complement representation.
Click to reveal answer
Which bitwise operation helps check if a number is even or odd?
AAND with 1
BOR with 1
CXOR with 1
DNOT operation
What does the expression (n & 1) === 0 mean for a number n?
An is even
Bn is odd
Cn is negative
Dn is zero
What is the output of (7 & 1)?
A0
B1
C7
DError
Is the bitwise method to check even or odd faster than using modulo (%) operator?
ADepends on the number
BNo, modulo is faster
CYes, bitwise is generally faster
DBoth are equally fast
Which bit in a binary number indicates if it is even or odd?
AMost significant bit
BSecond bit from left
CMiddle bit
DLeast significant bit
Explain how to use bitwise operations to check if a number is even or odd.
Think about the rightmost bit in binary.
You got /4 concepts.
    Write a simple TypeScript function that returns 'Even' or 'Odd' using bitwise operations.
    Use if statement and (n & 1).
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the expression num & 1 check when determining if a number is even or odd?
      easy
      A. It checks if num is greater than 1.
      B. It checks if the least significant bit of num is 1, indicating odd number.
      C. It checks if num is divisible by 2 without remainder.
      D. It checks if num is negative.

      Solution

      1. Step 1: Understand bitwise AND with 1

        The expression num & 1 isolates the least significant bit (rightmost bit) of the number.
      2. Step 2: Interpret the least significant bit

        If the least significant bit is 1, the number is odd; if 0, it is even.
      3. Final Answer:

        It checks if the least significant bit of num is 1, indicating odd number. -> Option B
      4. Quick Check:

        num & 1 = 1 means odd [OK]
      Hint: Check last bit with & 1; 1 means odd, 0 means even [OK]
      Common Mistakes:
      • Thinking & 1 checks divisibility by 2
      • Confusing bitwise AND with logical AND
      • Assuming it checks if number is negative
      2. Which of the following TypeScript code snippets correctly checks if a number n is even using bitwise operators?
      easy
      A. if ((n & 1) === 0) { console.log('Even'); } else { console.log('Odd'); }
      B. if ((n | 1) === 0) { console.log('Even'); } else { console.log('Odd'); }
      C. if ((n & 0) === 1) { console.log('Even'); } else { console.log('Odd'); }
      D. if ((n ^ 1) === 0) { console.log('Even'); } else { console.log('Odd'); }

      Solution

      1. Step 1: Understand bitwise AND with 1

        The expression n & 1 extracts the least significant bit of n.
      2. Step 2: Check if least significant bit is zero

        If (n & 1) === 0, the number is even; otherwise, it is odd.
      3. Final Answer:

        if ((n & 1) === 0) { console.log('Even'); } else { console.log('Odd'); } -> Option A
      4. Quick Check:

        Use n & 1 === 0 for even check [OK]
      Hint: Use (n & 1) === 0 to check even numbers [OK]
      Common Mistakes:
      • Using bitwise OR instead of AND
      • Comparing with wrong values like 0 or 1 incorrectly
      • Using XOR without understanding its effect
      3. What will be the output of the following TypeScript code?
      const numbers = [2, 3, 4, 5];
      numbers.forEach(num => {
        if (num & 1) {
          console.log(num + ' is Odd');
        } else {
          console.log(num + ' is Even');
        }
      });
      medium
      A. 2 is Odd 3 is Odd 4 is Odd 5 is Odd
      B. 2 is Even 3 is Even 4 is Even 5 is Even
      C. 2 is Odd 3 is Even 4 is Odd 5 is Even
      D. 2 is Even 3 is Odd 4 is Even 5 is Odd

      Solution

      1. Step 1: Evaluate bitwise AND for each number

        For each number, num & 1 checks the last bit: 2 & 1 = 0 (even), 3 & 1 = 1 (odd), 4 & 1 = 0 (even), 5 & 1 = 1 (odd).
      2. Step 2: Print corresponding output

        Numbers with num & 1 === 1 print 'Odd', others print 'Even'.
      3. Final Answer:

        2 is Even 3 is Odd 4 is Even 5 is Odd -> Option D
      4. Quick Check:

        Bitwise check matches even/odd output [OK]
      Hint: Check each number's last bit; 1 means odd, 0 means even [OK]
      Common Mistakes:
      • Assuming all numbers are odd
      • Confusing bitwise AND with logical AND
      • Printing wrong labels for even/odd
      4. Identify the error in this TypeScript code that tries to check if a number x is odd using bits:
      function isOdd(x: number): boolean {
        return x & 1 === 1;
      }
      medium
      A. The bitwise AND operator has lower precedence than ===, causing wrong evaluation.
      B. The function should use bitwise OR instead of AND.
      C. The function should return a string, not boolean.
      D. There is no error; the code works correctly.

      Solution

      1. Step 1: Check operator precedence in expression

        Bitwise AND (&) has lower precedence than strict equality (===), so x & 1 === 1 is evaluated as x & (1 === 1).
      2. Step 2: Understand the evaluation result

        1 === 1 is true, which converts to 1, so expression becomes x & 1. This returns a number, not a boolean, causing unexpected behavior.
      3. Step 3: Fix the expression with parentheses

        Use parentheses: (x & 1) === 1 to ensure correct evaluation order.
      4. Final Answer:

        The bitwise AND operator has lower precedence than ===, causing wrong evaluation. -> Option A
      5. Quick Check:

        Use parentheses: (x & 1) === 1 [OK]
      Hint: Use parentheses around bitwise operation before comparison [OK]
      Common Mistakes:
      • Ignoring operator precedence
      • Using bitwise OR instead of AND
      • Returning wrong data type
      5. You want to filter an array of numbers to keep only the even ones using bitwise operations in TypeScript. Which code snippet correctly achieves this?
      const nums = [10, 15, 22, 33, 40];
      const evens = nums.filter( /* your code here */ );
      console.log(evens);
      hard
      A. nums.filter(num => (num & 1) === 1)
      B. nums.filter(num => (num | 1) === 0)
      C. nums.filter(num => (num & 1) === 0)
      D. nums.filter(num => (num ^ 1) === 0)

      Solution

      1. Step 1: Understand filtering condition for even numbers

        Even numbers have their least significant bit as 0, so (num & 1) === 0 checks for even numbers.
      2. Step 2: Apply filter with correct condition

        Using nums.filter(num => (num & 1) === 0) returns only even numbers from the array.
      3. Step 3: Verify output

        For [10, 15, 22, 33, 40], the filtered array is [10, 22, 40].
      4. Final Answer:

        nums.filter(num => (num & 1) === 0) -> Option C
      5. Quick Check:

        Filter even numbers with (num & 1) === 0 [OK]
      Hint: Filter with (num & 1) === 0 to get even numbers [OK]
      Common Mistakes:
      • Using bitwise OR or XOR incorrectly
      • Filtering for odd numbers instead of even
      • Missing parentheses causing wrong evaluation
      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