Compartir a través de


Macro Int64ShrlMod32 (winnt.h)

Realiza una operación de desplazamiento lógico derecho 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

ULONGLONG Int64ShrlMod32(
  [in]  ULONGLONG a,
  [in]  DWORD 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

Tipo: ULONGLONG

El valor devuelto es el resultado entero de 64 bits sin signo de la operación de desplazamiento lógico a la derecha.

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 desalojados del lado izquierdo del valor se establecen en cero.

Un compilador puede generar código óptimo para una operación de desplazamiento lógico correcto cuando el recuento de turnos 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

Requisito Importancia
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo admitido Windows Server 2003 [aplicaciones de escritorio | Aplicaciones para UWP]
de la plataforma de destino de Windows
encabezado winnt.h (incluya Windows.h)

Consulte también

Int64ShllMod32

Int64ShraMod32

Enteros grandes