using System.IO; using System; class Program { static void Main() { int value = 511; Console.WriteLine("value={0}, SetBits={1}", value, CountSetBits(value)); } static public int CountSetBits(int value) { int x = value; x = (x & 0x55555555) + ((x >> 1) & 0x55555555); x = (x & 0x33333333) + ((x >> 2) & 0x33333333); x = (x & 0x0F0F0F0F) + ((x >> 4) & 0x0F0F0F0F); x = (x & 0x00FF00FF) + ((x >> 8) & 0x00FF00FF); x = (x & 0x0000FFFF) + ((x >> 16)& 0x0000FFFF); return x; } }
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more