# Python Program to count the set bits in a integer

April 10, 2022, Learn eTutorial
1445

## What are the set bits in the binary number system?

In the binary representation of an integer, we use two bits which are 1 and 0, where 1 is called the set bit. So in this python program, we have to count the number of 1's in an integer. Let us take an example of 9; its binary representation is 1001, and the count of '1's' is 2

## How to count set bits in python?

To apply this logic in python programming, we accept the integer from the user, and we are calling a user-defined function to count the set bits in that number.

Inside that function, we initialize a count variable to zero. Then we open a `while loop` till the number. Inside that loop, we are using the Bitwise AND operator with n and n-1. When we do Bitwise AND operation between n and n-1, it will remove the last one bit. We are using the count variable to check how many times we are doing this Bitwise AND operation to make the number n to zero. That will be the count of 1's.

### ALGORITHM

STEP 1: Accept an integer from the user using the input function in the python programming language.

STEP 2: Call the function for counting the number of bits in the number. And print that return value from the function using `print` in python language.

#### User-Defined Function countbits(n)

STEP 1: Pass the number to the function as a parameter from the calling function.

STEP 2: Initialize the count variable to zero, which is for counting the set bits.

STEP 3: Open a `while loop` until the number is zero.

STEP 4: Using bitwise AND operator between the number n and n-1 to remove the last one bit from the number n. continue till the number n is zero.

STEP 5: Increment the count in every iteration of bitwise AND operation.

STEP 6: Return and print the count.

To find the count of set bits, we are using the below python topics, please refer those for a better understanding

## Python Source Code

```                                          ```def count_set_bits(n):
count = 0
while n:
n &= n - 1
count += 1
return count

num = int(input('Enter number: '))
print("Equivalent Binary Number: ", bin(num)[2:])
print('Number of bits that set in the number:', count_set_bits(num))```
```

## OUTPUT

```Enter number: 12
Equivalent Binary Number:  1100
Number of setbits in that set in the number: 2```

VIEW ALL
VIEW ALL