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