11 битовый сдвиг влево и операция ему обратная - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброй ночи, подскажите пожалуйста операцию обратную к 11 битовому сдвигу влево... Сам сдвиг выглядит очень просто:
return input << 11 | input >> (32 - 11);
Где input - это то число над которым мы проделываем сдвиг, оно 32 битное. Как из 32 битового return'a получить снова input? Я туплю уже ночью или обратной будет она же?

Решение задачи: «11 битовый сдвиг влево и операция ему обратная»

textual
Листинг программы
int data;
byte CarryBit = (data & 0x80000000) >> 31;//Запоминаем бит.
data <<= 1;//делаем сдвиг.
 
//устанавливаем бит
if (CarryBit == 0)
    data &= 0xFFFFFFFE;
else
    data |= 0x01;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы