Int64ShrlMod32 宏 (winnt.h)
对无符号 64 位整数值执行右逻辑移位运算。 函数为正确的逻辑班次提供改进的移位代码,其中班次计数在 0-31 范围内。
语法
void Int64ShrlMod32(
[in] a,
[in] b
);
参数
[in] a
要移动的无符号 64 位整数。
[in] b
0-31 范围内的移位计数。
返回值
无
备注
移位计数是值位移动的位位置数。
在对无符号值的右逻辑移位操作中,值的位向右移动,值左侧的空位设置为零。
当班次计数为常量时,编译器可以为正确的逻辑移位操作生成最佳代码。 但是,如果移位计数是值范围未知的变量,则编译器必须假定最坏情况,从而导致非最佳代码:调用子例程的代码,或内联但分支的代码。 通过将移位计数限制在 0-31 范围内, Int64ShrlMod32 函数允许编译器生成最佳或接近最佳代码。
注意Int64ShrlMod32 函数的 Value 参数和返回值是 64 位值,而不是LARGE_INTEGER结构。
要求
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | winnt.h (包括 Windows.h) |