shiftl(x, shift): Desplazamiento a la izquierda

Función de desplazamiento lógico a la izquierda.

Declaración

Sintaxis

retval = shiftl(int(number), 31);
integer(int32) function shiftli32(i, shift)

Argumentos

x es un valor de entrada entero.

shift un valor entero sin signo menor o igual que el tamaño de bit de x. Los valores posibles son 7, 31 y 63.

Valores devueltos

El valor devuelto es de tipo entero y del mismo tipo que x.

Descripción

shiftl(x, shift) desplaza lógicamente a la izquierda x por el número de bits de shift. shiftl cambia de LSB(Leste Ssignificativo Bit) a MSB(Mmás Ssignificativo Bit). Bits desplazados desde el extremo izquierdo, es decir, se pierden bits MSB. Los ceros se agregan al extremo derecho opuesto.

Tipos

Tipos admitidos en valor entero sin signo x y valor entero sin signo shift de (7, 31, 63) menor o igual que el tamaño de bit de x.

interface shiftl
    module procedure shiftli8, shiftli32, shiftli64
end interface

contains

interface
    integer(int8) function shiftli8(i, shift) result(r)
	integer(int8), intent(in) :: i
	integer :: shift
	end function

	integer(int32) function shiftli32(i, shift) result(r)
	integer(int32) :: i
	integer :: shift
	end function

	integer(int64) function shiftli64(i, shift) result(r)
	integer(int64) :: i
	integer :: shift
	end function
end interface

Ejemplos

program intrinsics_shiftl
    implicit none
    integer, parameter :: x = kind(2)
    integer :: retval
    retval = shiftl(int(x), 7)
    print *, retval
end program

Result:

4

Ver también

shiftr.