How to count the total bits of a number that equal to one (1) in C#

1 Answer

0 votes
using System;

class Program
{
    static void print_bits(int n) { 
        for (int i = 31; i >= 0; i--)
            Console.Write((n >> i) & 1);
        Console.WriteLine();
    } 
    static int count_bits(int n) { 
        int count = 0; 
        while (n > 0) { 
            count += n & 1; 
            n >>= 1; 
        } 
        return count; 
    } 
    static void Main()
    {
        int n = 1358;
        
        print_bits(n);
        
        Console.Write(count_bits(n)); 
    }
}


/*
run:

00000000000000000000010101001110
6

*/

 



answered Mar 6, 2019 by avibootz
...