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

Метод Log2

Статический BitOperations.Log2 принимает uint или ulong больше нуля и возвращает int - степень двойки, на которую можно умножить 2, не превышая аргумент (округление вниз). Это не Math.Log2, который даёт double. Для 0 результат не определён.

Синтаксис

int exp = BitOperations.Log2(8u);

Пример

Давайте найдём Log2 для 8u:

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

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

3

Пример

Давайте найдём Log2 для 15u (не степень двойки):

using System; using System.Numerics; class Program { static void Main() { int res = BitOperations.Log2(15u); Console.WriteLine(res); } }

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

3

Пример

Давайте найдём Log2 для 16u:

using System; using System.Numerics; class Program { static void Main() { int res = BitOperations.Log2(16u); Console.WriteLine(res); } }

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

4

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

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