Skip to main content

Operator: SHL

Der IEC-Operator dient dem bitweisen Verschieben eines Operanden nach links.

erg := SHL (in, n)

in: Operand, der nach links verschoben wird

n: Anzahl der Bits, um die in nach links verschoben wird

Wichtig

Wenn n die Datentyp-Breite überschreitet, hängt es vom Zielsystem ab, wie BYTE, WORD, DWORD und LWORD Operanden aufgefüllt werden. Die Zielsysteme bewirken Auffüllen mit Nullen oder mit n MOD <Registerbreite>.

Wichtig

Beachten Sie, dass Sie die Anzahl der Bits, die CODESYS für die Rechenoperation berücksichtigt, durch den Datentyp der Eingangsvariablen in vorgeben.

Beispiel 118. Beispiele

Die Ergebnisse für erg_byte und erg_word sind unterschiedlich, obwohl die Werte der Eingangsvariablen in_byte und in_word gleich, die Datentypen der Eingangsvariablen jedoch unterschiedlich sind.

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 *)

FUP

_cds_img_shl.png