# C program to check if all the bits of a given integer is one (1)

Check if all the bits of a given integer is one (1) using C program: Here, we are going to implement a C program that will check whether all bits of an integer is set/one (1) or not.
Submitted by Radib Kar, on December 25, 2018

Problem statement: Write a C Program to check if all the bits of a given integer is one (1).

Solution: We can use bitwise operator here to solve the problem.

Pre-requisite: Input number n

Algorithm:

```1)  Do Bitwise AND with n and 1.
n & 1

let n be a7a6a5a4a3a2a1a0
1->00000001
So doing bitwise AND (refer to published article on bitwise operators)
will result in all bits 0 except the LSB which will be a0.
If a0 is 0 then the all bits are not set
Thus,
IF
n & 1 ==0
Print that all bits are not same
ELSE
Right shift n by 1
n=n>>1
END IF-ELSE

2)  IF n==0
Print that all bits are set
ELSE
REPEAT step 1
```

Example with Explanation:

```Checking for 12
12-> 00001100

So first iteration:
n=12 //00001100
n & 1 ==0
so print that all bits are not set

Checking for 7
7->00000111

So first iteration:
n=7 //00000111
n & 1 =1
n=n>>1 (n=3) //00000011

So second iteration:
n=3 //00000011
n & 1 =1
n=n>>1 (n=1) //00000001

So third iteration:
n=1 //00000001
n & 1 =1
n=n>>1 (n=0) //00000000

So, All bits are set
```

C implementation

```#include <stdio.h>

int main()
{
unsigned int n;
printf("enter the integer\n");
scanf("%d",&n);

while(n>0){
int temp=n&1;
if(temp == 0){ //if any bit not set
printf("all bits are not set\n");
return 0;
}
n=n>>1; //right shift operator
}

printf("all bits are set ");
printf("in its binary representation\n");

return 0;
}
```

Output

```First run:
enter the integer
12
all bits are not set

Second run:
enter the integer
7
all bits are set in its binary representation
```

TOP Interview Coding Problems/Challenges

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates