Macro Int64ShrlMod32 (winnt.h)
Executa uma operação de deslocamento lógico à direita em um valor inteiro de 64 bits sem sinal. A função fornece um código de deslocamento aprimorado para deslocamentos lógicos certos em que a contagem de turnos está no intervalo de 0 a 31.
Sintaxe
void Int64ShrlMod32(
[in] a,
[in] b
);
Parâmetros
[in] a
O inteiro de 64 bits sem sinal a ser deslocado.
[in] b
A contagem de turnos no intervalo de 0 a 31.
Valor retornado
Nenhum
Comentários
A contagem de deslocamentos é o número de posições de bits que os bits do valor movem.
Em uma operação de deslocamento lógico à direita em um valor sem sinal, os bits do valor se movem para a direita e os bits desocupados no lado esquerdo do valor são definidos como zero.
Um compilador pode gerar o código ideal para uma operação de deslocamento lógico à direita quando a contagem de deslocamentos é uma constante. No entanto, se a contagem de turnos for uma variável cujo intervalo de valores é desconhecido, o compilador deverá assumir o pior caso, levando a código não ideal: código que chama uma sub-rotina ou código embutido, mas branches. Ao restringir a contagem de deslocamentos ao intervalo de 0 a 31, a função Int64ShrlMod32 permite que o compilador gere um código ideal ou quase ideal.
Requisitos
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winnt.h (inclua Windows.h) |