__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 专用