Побитовый сдвиг - умножает число на 2 C#
Нужно сделать побитовый сдвиг, но результат умножается на 2.
string bitRightOld = (RemoteControl).ToString("X4"); //Это я добавил для проверки
(RemoteControl >> 15).ToString("X4") //Побитовый сдвиг
RemoteControl = 18 153 472. bitRightOld = 115 000. После побитового сдвига должно получиться 277(115 в HEX), но выдается - 554(22A в HEX).
Подскажите пожалуйста, что я не так делаю...
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
RemoteControl >> 15 = 554 // 15 раз разделить 18 153 472 на 2 - разделить на 32 768
RemoteControl >> 16 = 277 // 16 раз разделить 18 153 472 на 2
Автор решения: Александр ДД
→ Ссылка
Попробуйте сдвинуть на 16
RemoteControl >> 16
И почитайте пару статей про битовые сдвиги. Побалуйтесь с калькулятором, в котором есть режим программиста.