Write a C function to check if a given integer is odd or even using bitwise operators.

To determine if a given integer is odd or even we should check its least significant bit (LSB). If least significant bit of an integer is 1, it will be an odd number else it would be even. We can use bitwise AND (&) operator for checking if a given integer is odd or even. When bitwise AND is performed on an integer and 1 then result will be 1 if the integer is odd, else the result will be zero. Following program develops a small C function isOdd that receives an integer as input and return zero or one depending upon the inputted number is even or odd.

C program to check if a given integer is odd or even using bitwise operators.

/* Write a C program to check if a given 
   integer is odd or even using bitwise operators. 
 */
 
#include <stdio.h>
#include <string.h>
 
int isOdd (int n)
{
  if (n & 1)
    return 1;
  else
    return 0;
}
 
int main(void)
{
  unsigned int n;
  printf("Enter a positive integer: ");
  scanf("%u", &n);
  if (isOdd(n))
    printf("%d is odd", n);
  else
    printf("%d is even", n);
}
 
OUTPUT
======
Enter a positive integer: 11
11 is odd
 

Hope you have enjoyed reading C program that checks if a given integer is odd or even using bitwise operators. Please do write us if you have any suggestion/comment or come across any error on this page. Thanks for reading!



Share this page on WhatsApp

Get Free Tutorials by Email

About the Author

is the founder and main contributor for cs-fundamentals.com. He is a software professional (post graduated from BITS-Pilani) and loves writing technical articles on programming and data structures.