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