# C# Program for Count set bits in an integer

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

## Recommended: Please solve it on “__PRACTICE__ ” first, before moving on to the solution.

__PRACTICE__**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!