N&1 in c++

Explanation of Query n&1 in C++

The query n&1 is a bitwise AND operation between the variable n and the value 1. In C++, the bitwise AND operator (&) performs a bitwise AND operation on each bit of the operands.

When we perform n&1, the binary representation of n is compared with the binary representation of 1 bit by bit. The AND operation returns 1 if both corresponding bits are 1, and 0 otherwise.

Let’s understand with some examples:

Example 1:

// n = 7 (binary: 0111), 1 (binary: 0001)
// Performing n&1:
int n = 7;
int result = n & 1; // result = 0111 & 0001 = 0001 (decimal 1)

The result is 1 because the rightmost bit of 7 is 1, and the rightmost bit of 1 is also 1.

Example 2:

// n = 6 (binary: 0110), 1 (binary: 0001)
// Performing n&1:
int n = 6;
int result = n & 1; // result = 0110 & 0001 = 0000 (decimal 0)

The result is 0 because the rightmost bit of 6 is 0, which does not match the rightmost bit of 1.

This bitwise operation is often used to check if a number is even or odd. If the result of n&1 is 1, the number is odd; if it’s 0, the number is even. This is because an even number always has its rightmost bit as 0 in its binary representation, while an odd number has its rightmost bit as 1.

Related Post

Leave a comment