Skip to main content

运营商:SHL

IEC 运算符用于将操作数向左按位移位。

erg := SHL (in, n)

in: 左移的操作数

n: 要移位的位数 in 向左转

重要

如果 n 超过数据类型宽度,则取决于目标系统如何 BYTE, WORD, DWORD, 和 LWORD 操作数被填充。目标系统导致填充零或 n MOD <寄存器大小>.

重要

注意位数 CODESYS 用于此操作,由输入变量的数据类型定义 in.

118. 例子

结果为 erg_byteerg_word 是不同的,虽然的值 in_bytein_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

_cds_img_shl.png