Python Program to Count set bits in an integer
Last Updated :
27 Jul, 2023
Write an efficient program to count number of 1s in binary representation of an integer.
Examples :
Input : n = 6
Output : 2
Binary representation of 6 is 110 and has 2 set bits
Input : n = 13
Output : 3
Binary representation of 11 is 1101 and has 3 set bits
1. Simple Method Loop through all bits in an integer, check if a bit is set and if it is then increment the set bit count. See below program.
Python3
def countSetBits(n):
count = 0
while (n):
count + = n & 1
n >> = 1
return count
i = 9
print (countSetBits(i))
|
Recursive Approach :
Python3
def countSetBits( n):
if (n = = 0 ):
return 0
else :
return (n & 1 ) + countSetBits(n >> 1 )
n = 9
print ( countSetBits(n))
|
Approach #3:Using bin method with number which return string which contains the binary representation of number and with count function of string we can count the set bit in number.
Python3
def countSetBits( n):
ans = bin ( n )
return ans.count( “ 1 ” )
n = 9
print ( countSetBits(n))
|
Please refer complete article on Count set bits in an integer for more details!
Share your thoughts in the comments
Please Login to comment...