Оператор >> (Справочник по C#)
Обновлен: Ноябрь 2007
Оператор сдвига вправо (>>) сдвигает первый операнд вправо в соответствии с количеством бит, заданным вторым операндом.
Заметки
Если тип первого операнда — int или uint (32-разрядное число), начало сдвига задается пятью младшими разрядами второго операнда (второй операнд & 0x1f).
Если тип первого операнда — long или ulong (64-разрядное число), начало сдвига задается пятью младшими разрядами второго операнда (второй операнд & 0x3f).
Если тип первого операнда — int или long, сдвиг вправо является арифметическим сдвигом (пустым старшим разрядам задан знаковый бит). Если тип первого операнда — init или ulong, сдвиг вправо является логическим сдвигом (старшие разряды заполняются нулями).
Определенные пользователем типы могут вызвать перегрузку оператора >>; тип первого операнда должен быть определен пользователем, а тип второго должен быть int. Дополнительные сведения см. в разделе оператор. Если бинарный оператор перегружен, соответствующий оператор присваивания (если таковой имеется), также будет явно перегружен.
Пример
class RightShift
{
static void Main()
{
int i = -1000;
Console.WriteLine(i >> 3);
}
}
/*
Output:
-125
*/
См. также
Основные понятия
Руководство по программированию в C#