Блок Сдвиговой регистр

_images/fbd_block_SHIFT.png

Описание: Блок функции “Сдвиговый регистр” осуществляет побитовый сдвиг (вправо или влево - см. Свойства блока) значения, поданного на вход in. Величина сдвига задается на входе shift в целочисленной десятичной форме. Тип данных изменяется, допускаются только беззнаковые 1-4 байтовые целые типы данных.

Пример: при подаче “11” (1011) на вход in и “2” на вход shift (в свойствах задан сдвиг вправо), получаем, что значение 1011 сдвигается вправо на 2 разряда, т.е. результат операции сдвига - 0010, что соответствует “2” в десятичной системе исчисления, и это значение подается на выход out:

_images/fbd_example_SHIFT.png

Свойства блока: (ПКМ по блоку - Свойства ( Alt + P ))

Общие свойства: см. Редактирование свойств блока.

Тип данных: несмотря на возможность выбрать в выпадающем меню все типы данных, данная функция работает ТОЛЬКО с целыми беззнаковыми типами данных. В случае выбора иного типа данных, редактор допустит соответствующее изменение, однако при компиляции программы будет выдана ошибка.

Направление сдвига: задается направление сдвига: вправо или влево.

Циклический сдвиг: в случае установки данного параметра, сдвинутые биты записываются в зависимости от направления в старшие или младшие разряды той же переменной.

Пример: на вход in подается значение “1”(0000 0001), на вход shift - “2”, направление сдвига - вправо, тип данных - беззнаковый целый 1-байтовый(8 бит), циклический сдвиг - true: результат данной операции 64(0100 0000).