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