menu
dopisz swój adres do listy:
kontakt CoDeSys.pl:
e-mail: news@codesys.pl
Telefon: 048 331 20 57
Fax: 048 331 25 36

www.codesys.pl
wyszukaj w codesys.pl
elementy programu - operatory bit-shift


SHR

Operator bit-shift IEC: Bitowe przesunięcie argumentu w prawo: erg:= SHR (in, n)

in zostaje przesunięte o n bitów w prawo. W przypadku stosowania typu danych bez znaku liczby (BYTE, WORD, DWORD), następuje uzupełnienie zerami od lewej. W typach danych ze znakiem liczby, jak np. INT, przeprowadzane jest natomiast przesunięcie arytmetyczne, tzn. wypełnianie wartością najwyższego bitu.
Poniższy przykład w systemie szesnastkowym ilustruje wynik operacji, przy czym jako zmienne wejściowe służą raz erg_byte typu BYTE, raz erg_word typu WORD.

Przykład w ST:

PROGRAM shr_st
VAR
in_byte : BYTE:=16#45;
in_word : WORD:=16#45;
erg_byte : BYTE;
erg_word : WORD;
n: BYTE :=2;
END_VAR

erg_byte:=SHR(in_byte,n); (* Wynik 11 *)
erg_word:=SHR(in_word,n); (* Wynik 0011 *)


Przykład w IL:

LD 16#45
SHR 2
ST erg_byte


Przykład w FBD:



SHR


codesys.pl