Macro Int64ShrlMod32 (winnt.h)

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

Sintaxis

void Int64ShrlMod32(
  [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 a la derecha en un valor sin signo, los bits del valor se mueven a la derecha y los bits vacíos del lado izquierdo del valor se establecen en cero.

Un compilador puede generar código óptimo para una operación de desplazamiento lógico correcta cuando el recuento de desplazamientos es una constante. Sin embargo, si el recuento de desplazamientos 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 Int64ShrlMod32 permite al compilador generar código óptimo o casi óptimo.

Nota El parámetro Value de la función Int64ShrlMod32 y el valor devuelto son valores de 64 bits, no estructuras LARGE_INTEGER.
 

Requisitos

   
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 (incluye Windows.h)

Consulte también

Int64ShllMod32

Int64ShraMod32

Enteros grandes