Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

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 = 32432
    out2 := SHL(1000*2+27, 4);   //out2 = 32432
    out3 := SHL(SHL(in1, in2), 1); //out3 = 64864
     
    Синтаксис на языках FBD/LD.
Изображение блока
Примеры