Compartilhar 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 mudança aprimorado para turnos lógicos certos em que a contagem de turnos está no intervalo de 0 a 31.

Sintaxe

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

Tipo: ULONGLONG

O valor retornado é o resultado inteiro de 64 bits sem sinal da operação de deslocamento lógico à direita.

Observações

A contagem de turnos é o número de posições de bit que os bits do valor movem.

Em uma operação de deslocamento lógico à direita em um valor não assinado, os bits do valor são movidos para a direita e os bits desocupados no lado esquerdo do valor são definidos como zero.

Um compilador pode gerar um código ideal para uma operação de deslocamento lógico à direita quando a contagem de turnos é 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 um código não ideal: código que chama uma sub-rotina ou código embutido, mas ramifica. Ao restringir a contagem de turnos 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

Requisito Valor
Cliente mínimo suportado Windows XP [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo compatível Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho winnt.h (inclua Windows.h)

Consulte também

Int64ShllMod32

Int64ShraMod32

Inteiros grandes