C (programming language)

# Logic to print given number is even or odd using bitwise AND (&) operator

**Understanding the Problem**

**Goal:**Create logic to determine whether a given number is even or odd using the bitwise AND operator.**Key Concepts:**- Bitwise operations: Manipulating individual bits within numbers.
- AND operator (
`&`

): Compares corresponding bits and produces a 1 only when both bits are 1. - Least significant bit (LSB): The rightmost bit in a binary representation, indicating even or odd.

**Step-by-Step Guide**

**1. Check the Least Significant Bit**

**Explanation:**The LSB determines even or odd:- 0 for even numbers (e.g., 10 = 1010 in binary, LSB is 0).
- 1 for odd numbers (e.g., 9 = 1001 in binary, LSB is 1).

**2. Apply Bitwise AND with 1**

C

```
if (number & 1 == 0) {
// Number is even
} else {
// Number is odd
}
```

**Explanation:**`number & 1`

: Performs a bitwise AND with 1, isolating the LSB.`== 0`

: Checks if the LSB is 0 (even) or 1 (odd).

**Example Code**

C

`#`**include** <stdio.h>
int main() {
int number = 12; // Change this to test different numbers
if (number & 1 == 0) {
printf("%d is even.\n", number);
} else {
printf("%d is odd.\n", number);
}
return 0;
}

**Explanation of the Code:**

- The
`number`

variable holds the value to be checked (e.g., 12). - The
`if`

statement uses bitwise AND with 1 and compares the result to 0:- If
`number & 1`

is 0, the LSB is 0, indicating an even number. - If
`number & 1`

is not 0, the LSB is 1, indicating an odd number.

- If
- The appropriate message is printed based on the result.

**Key Points**

- The bitwise AND operator is efficient for determining even or odd numbers.
- It directly examines the LSB, which holds the parity information.
- This logic can be incorporated into various programming tasks involving even/odd number checks.