SHL - побитовый сдвиг влево
Бинарный оператор SHL сдвигает влево биты целого числа по алгоритму:
-
В первом операнде in1 задается исходное значение для сдвига бит, а во втором операнде in2 - количество сдвигаемых бит в диапазоне [1 .. 31]. Если in2 < 0, сдвиг не осуществляется, возвращается исходное значение in1.
-
Биты исходного значения in1 сдвигаются влево на количество in2.
-
Лишние биты, вышедшие слева за границы битовой маски, отбрасываются.
-
Освободившиеся справа младшие биты заполняются нулями.Оба операнда и возвращаемое значение должны иметь целочисленный 32-битный тип данных INTEGER. В качестве операнда могут передаваться константы, переменные или выражения с результатом в виде целого числа. При сдвиге битов знак числа может изменяться.Пример работы оператора продемонстрирован на следующем изображении:
Синтаксис на языке ST.Синтаксисout := SHL(in1, in2)Примерыin1 := 2027;in2 := 4;out1 := SHL(in1, in2); //out1 = 32432out2 := SHL(1000*2+27, 4); //out2 = 32432out3 := SHL(SHL(in1, in2), 1); //out3 = 64864Синтаксис на языках FBD/LD.
|
Изображение блока
|
![]() |
|
Примеры
|
![]() |
![]() |
![]() |




