SHL
Der IEC-Operator dient dem bitweisen Verschieben eines Operanden nach links.
Syntax: erg := SHL (in, n)
in: Operand, der nach links verschoben wird.
n: Anzahl der Bits, um die in nach links verschoben wird.
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>. |
Beachten Sie, dass Sie die Anzahl der Bits, die TwinCAT für die Rechenoperation berücksichtigt, durch den Datentyp der Eingangsvariablen in vorgeben. |
Beispiele:
Die Ergebnisse für nResByte und nResWord sind unterschiedlich, obwohl die Werte der Eingangsvariablen nInByte und nInWord gleich, die Datentypen der Eingangsvariablen jedoch unterschiedlich sind.
ST:
PROGRAM Shl_st
VAR
nInByte : BYTE:=16#45; (*2#01000101*)
nInWord : WORD:=16#0045; (*2#0000000001000101*)
nResByte : BYTE;
nResWord : WORD;
nVar : BYTE := 2;
END_VAR
nResByte := SHL(nInByte,nVar); (*Result is 16#14, 2#00010100*)
nResWord := SHL(nInWord,nVar); (*Result is 16#0114, 2#0000000100010100*)
FUP: