C Program to Check whether nth Bit is Set or not

In computer programming, bitwise operations are frequently used to manipulate individual bits in a binary representation of data. One common task is to determine whether a specific bit at a given position is set (1) or not (0). In this post, we will explore a C program that checks whether the nth bit of a number is set or not, using bitwise operations.

Problem statement

Given an integer number ‘num’ and a positive integer ‘n’, we need to determine whether the nth bit of ‘num’ is set (1) or not (0). The program should output the result based on the evaluation.

C Program to Check whether nth Bit is Set or not

#include <stdio.h>

int isNthBitSet(int num, int n) {
    // Shifting 1 by n positions to the left
    int mask = 1 << n;

    // Bitwise AND operation to check if the nth bit is set or not
    if (num & mask)
        return 1; // nth bit is set (1)
        return 0; // nth bit is not set (0)

int main() {
    int num, n;

    printf("Enter a number: ");
    scanf("%d", &num);

    printf("Enter the position (n) of the bit to check: ");
    scanf("%d", &n);

    int result = isNthBitSet(num, n);

    printf("The %dth bit of %d is %s.\n", n, num, result ? "set" : "not set");

    return 0;