Opérateur : SHL
L'opérateur IEC est utilisé pour le décalage au niveau du bit d'un opérande vers la gauche.
erg := SHL (in, n)
in
: Opérande qui est décalé vers la gauche
n
: Nombre de bits à décaler in
À gauche
Important
Si n
dépasse la largeur du type de données, cela dépend du système cible de la façon dont le BYTE
, WORD
, DWORD
, et LWORD
les opérandes sont remplis. Les systèmes cibles provoquent un remplissage avec des zéros ou n MOD <taille du registre>
.
Important
Notez le nombre de bits qui CODESYS utilise pour cette opération tel que défini par le type de données de la variable d'entrée in
.
Les résultats pour erg_byte
et erg_word
sont différentes, bien que les valeurs des in_byte
et in_word
les variables d'entrée sont les mêmes et les types de données des variables d'entrée sont différents.
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 *)
FDB
