Operatore: SHL
L'operatore IEC viene utilizzato per lo spostamento bit per bit di un operando a sinistra.
erg := SHL (in, n)
in
: Operando spostato a sinistra
n
: Numero di bit da spostare in
A sinistra
Importante
Se n
supera la larghezza del tipo di dati, quindi dipende dal sistema di destinazione come il BYTE
, WORD
, DWORD
, e LWORD
gli operandi sono imbottiti. I sistemi di destinazione causano il riempimento con zeri o n MOD <dimensione registro>
.
Importante
Annotare il numero di bit che CODESYS utilizza per questa operazione come definito dal tipo di dati della variabile di input in
.
I risultati per erg_byte
e erg_word
sono diversi, anche se i valori di in_byte
e in_word
le variabili di input sono le stesse e i tipi di dati delle variabili di input sono diversi.
ST
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
