Cдвиг вправо и сдвиг влево в C#

Приветствую всех, сегодня рассмотрим примеры сдвига в лево и право.

В начале рассмотрим сдвиг вправо:

Этот оператор является бинарным, переносит все биты на заданное количество позиций вправо, при этом освобождающие позиции справа усекаются, а слева заполняются нулями. Первый операнд — изменяемая целочисленная переменная, а второй — целочисленная переменная, задающая величину сдвига.
В двоичной системе счисления сдвиг бита на одну позицию вправо эквивалентен делению на 2.
Чуть подробней: 4 >> 1

00000000000000000000000000000100
  00000000000000000000000000000100
00000000000000000000000000000010

Сдвиг влево:

Этот оператор является бинарным, переносит все биты на заданное количество позиций влево, при этом освобождающие позиции справа заполняются нулями, а слева исчезают. Первый операнд — изменяемая целочисленная переменная, а второй — целочисленная переменная, задающая величину сдвига.
В двоичной системе счисления сдвиг бита на одну позицию влево эквивалентен умножению на 2.
Чуть подробней: 4 << 1

  00000000000000000000000000000100
00000000000000000000000000000100
  00000000000000000000000000001000

Обновлено: 26.12.2019 — 20:10

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.