__ull_rshift

Microsoft 专用

在 x64 上,将第一个参数指定的 64 位值右移第二个参数指定的位数。

语法

unsigned __int64 __ull_rshift(
   unsigned __int64 mask,
   int nBit
);

参数

掩码
[in] 要右移的 64 位整数值。

nBit
[in] 要移位的位数,在 x86 上按 32 取模,在 x64 上按 64 取模。

返回值

移位 nBit 位的掩码。

要求

Intrinsic 体系结构
__ull_rshift x86、x64

头文件<intrin.h>

注解

如果第二个参数在 x86 上大于 31(x64 上为 63),则将该参数按 32 取模(x64 上为 64)以确定要移位的位数。 名称中的 ull 指示 unsigned long long (unsigned __int64)

示例

// 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;
}
1

结束 Microsoft 专用

另请参阅

__ll_lshift
__ll_rshift
编译器内部函数