public static void Main()
Console.WriteLine("Bit Count 9: " + BitCount(9));
Console.WriteLine("Bit Count 43: " + BitCount(43));
Console.WriteLine("Bit Count 243: " + BitCount(243));
Console.WriteLine("Bit Count 1243: " + BitCount(1243));
Console.WriteLine("Bit Range 42, 5, 2 :" + BitCountRange(42,2,5));
public static int BitCount(int num)
if((num & bitval) == bitval)
Console.WriteLine(num + " :" + s);
public static int BitCountRange(int num, int l, int r)
int num2 = ((1 << r) - 1) ^ ((1 << (l - 1)) - 1);
Console.WriteLine("num2 " + num2);
for(int i = l+1; i>=r-1; i--)
if((num & bitval) == bitval)
Console.WriteLine(bitval);
public static int reverseBits(int num)
int NO_OF_BITS = sizeof(int) * 8;
int reverse_num = 0, i, temp;
for (i = 0; i < NO_OF_BITS; i++)
reverse_num |= (1 << ((NO_OF_BITS - 1) - i));