Тема: Последовательные сдвиг влево и сдвиг вправо.
Всем привет) Сегодня натолкнулся на необычный эффект в симуляторе.
Судя по описанию, в результате побитовой операции сдвиг влево освободившиеся биты справа заполняются нулями. При сдвиге вправо биты слева тоже должна заполняться нулями.
Но если задать значение FF (8 бит в значении 1) и последовательно сделать сдвиг влево и сдвиг вправо, все биты оказываются заполнены единицами. Скрин из симулятора прилагаю - файл canny.jpg
При этом если сделать просто сдвиг направо из промежуточного занчения, то все слева заполняется нулями как положено - файл canny2.jpg
Разве так и должно быть? Скорее всего так получается из за 16-битного представления данных при расчетах.