运营商:SHL
IEC 运算符用于将操作数向左按位移位。
erg := SHL (in, n)
in
: 左移的操作数
n
: 要移位的位数 in
向左转
重要
如果 n
超过数据类型宽度,则取决于目标系统如何 BYTE
, WORD
, DWORD
, 和 LWORD
操作数被填充。目标系统导致填充零或 n MOD <寄存器大小>
.
重要
注意位数 CODESYS 用于此操作,由输入变量的数据类型定义 in
.
例 118. 例子
结果为 erg_byte
和 erg_word
是不同的,虽然的值 in_byte
和 in_word
输入变量相同,输入变量的数据类型不同。
英石
PROGRAM shl_st VAR in_byte : BYTE := 16#45; (* 2#01000101 ) in_word : WORD := 16#0045; (* 2#0000000001000101 ) erg_byte : BYTE; erg_word : WORD; n: BYTE := 2; END_VAR erg_byte := SHL(in_byte,n); (* Result is 16#14, 2#00010100 *) erg_word := SHL(in_word,n); (* Result is 16#0114, 2#0000000100010100 *)
FBD
