__ull_rshift
Específicos do Microsoft
em x64, desloca um valor de 64 bits especificado pelo primeiro parâmetro para a direita por um número de bits especificado pelo segundo parâmetro.
unsigned __int64 __ull_rshift(
unsigned __int64 mask,
int nBit
);
Parâmetros
[in]mask
O valor inteiro de 64 bits para deslocar para a direita.[in]nBit
O número de bits de turno, módulo 32 no x86 e módulo 64 em x64.
Valor de retorno
A máscara deslocados em nBit bits.
Requisitos
Intrínseca |
Arquitetura |
---|---|
__ull_rshift |
x86,x64 |
Arquivo de cabeçalho <intrin.h>
Comentários
Se o segundo parâmetro é maior que 31 em x86 (63 em x64), esse número é obtido de módulo 32 (64 no x64) para determinar o número de bits shift. O ull indica o nome unsigned long long (unsigned __int64).
Exemplo
// ull_rshift.cpp
// compile with: /EHsc
// processor: x86, x64
#include <iostream>
#include <intrin.h>
using namespace std;
#pragma intrinsic(__ull_rshift)
int main()
{
unsigned __int64 mask = 0x100;
int nBit = 8;
mask = __ull_rshift(mask, nBit);
cout << hex << mask << endl;
}
Saída
1