Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
252 of 1492 menu
◀ ▶

Класс BitOperations

System.Numerics.BitOperations - статический класс: экземпляр не создают, методы вызывают по имени типа. Подключите using System.Numerics;. Методы работают с uint и ulong. Считают единицы, нули и сдвигают биты - см. PopCount и RotateLeft. Дробный логарифм даёт Math.Log2, целый - BitOperations.Log2.

Синтаксис

using System.Numerics; int res = BitOperations.PopCount(0b1011u);

Пример

Давайте посчитаем единичные биты через PopCount:

using System; using System.Numerics; class Program { static void Main() { int res = BitOperations.PopCount(0b1011u); Console.WriteLine(res); } }

Результат выполнения кода:

3

Пример

Давайте применим метод к ulong:

using System; using System.Numerics; class Program { static void Main() { int res = BitOperations.PopCount(8ul); Console.WriteLine(res); } }

Результат выполнения кода:

1

Пример

Давайте сдвинем биты циклически влево:

using System; using System.Numerics; class Program { static void Main() { uint res = BitOperations.RotateLeft(1u, 1); Console.WriteLine(res); } }

Результат выполнения кода:

2

Смотрите также

  • метод LeadingZeroCount,
    который считает нули слева
  • метод TrailingZeroCount,
    который считает нули справа
  • метод Log2,
    который даёт целый логарифм по основанию 2
  • метод Math.Log2,
    который возвращает double
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить