Метод PopCount
Статический BitOperations.PopCount считает
биты со значением 1 в двоичной записи
аргумента. Для uint учитываются
32 позиции, для ulong -
64. Класс описан в
BitOperations.
Синтаксис
int count = BitOperations.PopCount(0b1011u);
Пример
Давайте посчитаем единицы в 0b1011u:
using System;
using System.Numerics;
class Program
{
static void Main()
{
int res = BitOperations.PopCount(0b1011u);
Console.WriteLine(res);
}
}
Результат выполнения кода:
3
Пример
Давайте посчитаем единицы в 0u:
using System;
using System.Numerics;
class Program
{
static void Main()
{
int res = BitOperations.PopCount(0u);
Console.WriteLine(res);
}
}
Результат выполнения кода:
0
Пример
Давайте применим PopCount к ulong:
using System;
using System.Numerics;
class Program
{
static void Main()
{
int res = BitOperations.PopCount(0b1111ul);
Console.WriteLine(res);
}
}
Результат выполнения кода:
4
Смотрите также
-
метод
LeadingZeroCount,
который считает нули слева -
метод
TrailingZeroCount,
который считает нули справа -
BitOperations,
класс, где объявленPopCount -
метод
Math.Log2,
который считает логарифм какdouble