Iseven c++ – C++ Program to Check Whether Number is Even or Odd

Iseven c++: In the previous article, we have discussed about C++ Program to Swap Two Numbers. Let us learn how to Check Whether Number is Even or Odd in C++ Program.

Different methods in c++ to check whether a number is even or odd

Iseven c++: In this article, we see different methods to checks whether a number is even or odd. If we see in brief an even number is a number that is divisible by 2 while an odd number is a number that is not divisible by 2. Let see different methods one by one to check this.

Method 1-Using if-else statement and modulus(%) operator

As we know that if a number is divisible by 2 then it is even otherwise it is odd. We can use the modulus(%) operator to find this. Modulus(%) operator gives the remainder when one number is divisible by another number. So if a number is even so on divisible by 2 gives remainder 0 otherwise if the number is odd it gives remainder 1. So we use this property to write our program. Let see the code for this.

#include <iostream>
using namespace std;

void isEven(int n)
{
    if(n%2==0)
    {
        cout<<"Number is even"<<endl;
    }
    else
    {
        cout<<"Number is odd"<<endl;
    }
}
int main() {
    int num1=10, num2=9;
    isEven(num1);
    isEven(num2);
    return 0;
}

Output

Number is even
Number is odd

Here we see that when we pass number 10 in the function we get the number is even and when we pass number 9 in the program we get the number is odd. Hence our program perfectly runs.

Method 2-Using ternary operator and modulus operator(%)

Ternary operators are a short and crisp way of using if-else statements in one line.

syntax :condition ? expression1 : expression2;

This is the syntax of the ternary operator. If the condition is true then statement 1 will get executed otherwise statement 2 will get executed.

Let write code for our program.

#include <iostream>
using namespace std;

void isEven(int n)
{
    n%2==0?cout<<"Number is even"<<endl:cout<<"Number is odd"<<endl;
}
int main() {
    int num1=10, num2=9;
    isEven(num1);
    isEven(num2);
    return 0;
}

Output

Number is even
Number is odd

We get the same output as we get in method 1 but this time our code is very short.

Method 3-Using bitwise and operator

In this method, we will see how can we use bitwise and operator to check whether a number is even or odd. First, let understand the logic. First, we write some numbers in binary form to analyze them.

1->1       2->10         3->11           4->100          5->101       6->110    7->111

So if we analyze the binary representation of these numbers we can see that the number which are odd have unit place as 1 in their binary representation and the numbers which even have unit place as 0 in their binary representation. So if we take bitwise and of even number, with 1 we always get output as 0 and if we take bitwise and of odd number with 1 we always get output is 1. So we can use this logic to write our program.

#include <iostream>
using namespace std;

void isEven(int n)
{
    if((n&1)==0)
    {
        cout<<"Number is even"<<endl;
    }
    else
    {
        cout<<"Number is odd"<<endl;
    }
}
int main() {
    int num1=10, num2=9;
    isEven(num1);
    isEven(num2);
    return 0;
}

Output

Number is even
Number is odd

So these are the methods to check whether a number is even or odd in c++.