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.
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) |