Share via


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.

Nota O parâmetro Value da função Int64ShrlMod32 e o valor retornado são valores de 64 bits, não LARGE_INTEGER estruturas.
 

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)

Confira também

Int64ShllMod32

Int64ShraMod32

Inteiros Grandes