This C Program checks if a given integer is power of 2 using bitwise operators.

Here is source code of the C Program to check if a given integer is power of 2 using bitwise operators. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C Program to Check if a given Integer is Power of 2 using Bitwise Operators`

`*/`

`#include <stdio.h>`

`#define NUM_BITS_INT (8*sizeof(int))`

int power_of_2(unsigned int);

int main()

`{`

unsigned int num;

printf("\nEnter Number");

scanf("%d", &num);

power_of_2(num);

`}`

`/*`

`* Finding the power of 2 using bit wise operators`

`*/`

int power_of_2(unsigned int x)

`{`

int i, count = 0, result, shift_num;

for (i = 0;i <= NUM_BITS_INT;i++)

`{`

shift_num = x >> i;

result = shift_num & 1;

if (res == 1)

`count++;`

`}`

`/*`

`*If number of bits set to 1 are odd then the number is power of 2`

`*If number of bits set to 0 are even then the number is not power of 2`

`*/`

if (count % 2 == 1)

printf("YES");

`else`

printf("NO");

`}`

```
$ gcc bit25.c
$ a.out
Enter Number128
YES
$ a.out
Enter Number126
NO
```

**Sanfoundry Global Education & Learning Series – 1000 C Programs.**

Here’s the list of Best Reference Books in C Programming, Data-Structures and Algorithms

If you wish to look at programming examples on all topics, go to C Programming Examples.