Macro Int64ShllMod32 (winnt.h)

Realiza una operación de desplazamiento lógico a la izquierda en un valor entero de 64 bits sin signo. La función proporciona un código de desplazamiento mejorado para los turnos lógicos izquierdos donde el recuento de desplazamientos está en el intervalo 0-31.

Sintaxis

void Int64ShllMod32(
  [in]  a,
  [in]  b
);

Parámetros

[in] a

Entero de 64 bits sin signo que se va a desplazar.

[in] b

Recuento de turnos en el intervalo 0-31.

Valor devuelto

None

Observaciones

El recuento de desplazamientos es el número de posiciones de bits que mueven los bits del valor.

En una operación de desplazamiento lógico izquierdo en un valor sin signo, los bits del valor se mueven a la izquierda y los bits vacíos del lado derecho del valor se establecen en cero.

Un compilador puede generar código óptimo para una operación de desplazamiento lógico a la izquierda cuando el recuento de turnos es una constante. Sin embargo, si el recuento de turnos es una variable cuyo intervalo de valores es desconocido, el compilador debe asumir el peor de los casos, lo que conduce a código no óptimo: código que llama a una subrutina o código insertado pero bifurcaciones. Al restringir el recuento de turnos al intervalo 0-31, la función Int64ShllMod32 permite al compilador generar código óptimo o casi óptimo.

Tenga en cuenta que el parámetro Value de la función Int64ShllMod32 y el valor devuelto son valores de 64 bits, no LARGE_INTEGER estructuras.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winnt.h (incluya Windows.h)

Consulte también

Int64ShraMod32

Int64ShrlMod32

Enteros grandes