19. Funciones
19.15 Desplazamiento de bits <SHR>, <SHL>
Con las funciones SHR y SHL es posible desplazar bits de datos del tipo DWORD a la
derecha (función SHR) y a la izquierda (función SHL). Los bits "sobrantes" desplazados a
un lado de la variable se descartan. Los bits del otro lado se rellenan con el valor "0".
Ejemplo:
Con la instrucción
Mask
:= SHL(Mask, 3)
el contenido de la variable Mask se desplaza 3 bits a la izquierda. Por la derecha se
insertan 3 bits con el valor "0".
Contenido de la variable:
1001 1111 0000 1100 1111 1111 1001 1100
Se obtiene el patrón de bits:
1111 1000 0110 0111 1111 1100 1110 0000
Con la instrucción
Mask
:= SHR(Mask, 3)
el contenido de la variable Mask se desplaza 3 bits a la derecha. Por la izquierda se
insertan 3 bits con el valor "0".
Contenido de la variable:
1001 1111 0000 1100 1111 1111 1001 1100
Se obtiene el patrón de bits:
0001 0011 1110 0001 1001 1111 1111 0011
Festo GDCP-CMXR-SW-ES es 1205c
Sintaxis
(<variable> :DWORD) := SHR (<valor : DWORD>, <count> : DINT)
(<variable> :DWORD) := SHL (<valor : DWORD>, <count> : DINT)
169