C# Program for Count set bits in an integer

Last Updated : 14 May, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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
setbit

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.

C#
// C# program to Count set
// bits in an integer
using System;

class GFG {
    // Function to get no of set
    // bits in binary representation
    // of positive integer n
    static int countSetBits(int n)
    {
        int count = 0;
        while (n > 0) {
            count += n & 1;
            n >>= 1;
        }
        return count;
    }

    // Driver Code
    public static void Main()
    {
        int i = 9;
        Console.Write(countSetBits(i));
    }
}

// This code is contributed by Sam007

Output
2

Recursive Approach :

C#
// C# implementation of recursive
// approach to find the number of
// set bits in binary representation
// of positive integer n
using System;

class GFG {

    // recursive function
    // to count set bits
    public static int countSetBits(int n)
    {

        // base case
        if (n == 0)
            return 0;

        else

            // if last bit set
            // add 1 else add 0
            return (n & 1) + countSetBits(n >> 1);
    }

    // Driver code
    static public void Main()
    {

        // get value
        // from user
        int n = 9;

        // function calling
        Console.WriteLine(countSetBits(n));
    }
}

// This code is contributed by aj_36

Output
2

Please refer complete article on

Count set bits in an integer

for more details!


Next Article
Article Tags :

Similar Reads