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;

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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