Skip to main content

运营商:SHR

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

erg := SHR (in, n)

in: 向右移动的操作数

n: 要移位的位数 in 向右

重要

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

119. 例子

英石

PROGRAM shr_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 := SHR(in_byte,n); (* Result is 16#11, 2#00010001 *)
erg_word := SHR(in_word,n); (* Result is 16#0011, 2#0000000000010001 *)

FBD

_cds_img_shr.png