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