Разница между битовым сдвигом влево и вправо в программировании заключается в том, как происходит смещение битов числа:
- Побитовый сдвиг влево сдвигает биты операнда на определённое количество битов влево, начиная с младшего бита. tproger.ru Пустые места после сдвига заполняются нулями. tproger.ru Сдвиг влево на N позиций эквивалентен умножению числа на 2N. tproger.ru
- Побитовый сдвиг вправо сдвигает биты операнда на обозначенное количество битов вправо. tproger.ru Если операнд положительный, то пустые места заполняются нулями. tproger.ru Если же изначально работает с отрицательным числом, то все пустые места слева заполняются единицами. tproger.ru Это делается для сохранения знака. tproger.ru Сдвиг числа вправо на N позиций также делит это число на 2N. tproger.ru
Таким образом, побитовый сдвиг влево используется для умножения, а побитовый сдвиг вправо — для деления. tproger.ru metanit.com