Home »
Programming Tips & Tricks »
C - Tips & Tricks
Check EVEN or ODD without using Modulus (%) Operator in C
By: IncludeHelp, on 26 JAN 2017
The way that most of the programmers are use to check whether a given number is EVEN or ODD is: to check number is divisible by 2 or not.
If the number is divisible by 2 that mean number is EVEN otherwise Number is ODD.
Since there may many logics to do one task, EVEN or ODD number can also be checked with many logic, here I am sharing a simple logic by using it you check find whether a number is EVEN or ODD.
Checking EVEN or ODD using Bitwise AND operator
Yes, we can check whether given number is EVEN or ODD by using Bitwise AND operator, we should know that each ODD number's first bit is 1, so here I will check first bit only, if it is high (1) that means number is ODD otherwise number is EVEN.
Here is the program
#include <stdio.h>
int main()
{
int a=36;
int b=25;
if(a&(0x01))
printf("%d is ODD number\n",a);
else
printf("%d is EVEN number\n",a);
if(b&(0x01))
printf("%d is ODD number\n",b);
else
printf("%d is EVEN number\n",b);
return 0;
}
Output
36 is EVEN number
25 is ODD number
Here, 0x01 is the value to check first (0th bit of a number)