Int64ShrlMod32 宏 (winnt.h)

对无符号 64 位整数值执行右逻辑移位运算。 该函数为右逻辑移位提供了改进的移位代码,其中班次计数在 0-31 范围内。

语法

ULONGLONG Int64ShrlMod32(
  [in]  ULONGLONG a,
  [in]  DWORD b
);

参数

[in] a

要移动的无符号 64 位整数。

[in] b

范围 0-31 中的移位计数。

返回值

类型: ULONGLONG

返回值为右逻辑移位运算的无符号 64 位整数结果。

注解

移位计数是值位移动的位位置数。

在无符号值的右逻辑移位作中,值的位向右移动,值左侧的空位设置为零。

当班次计数为常量时,编译器可以为正确的逻辑移位作生成最佳代码。 但是,如果班次计数是一个变量,其值范围未知,编译器必须假定最坏的情况,从而导致非最佳代码:调用子例程的代码或内联但分支的代码。 通过将移位计数限制为 0-31,Int64ShrlMod32 函数允许编译器生成最佳或接近最佳代码。

注意Int64ShrlMod32 函数的 Value 参数和返回值为 64 位值,而不是LARGE_INTEGER结构。
 

要求

要求 价值
最低支持的客户端 Windows XP [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2003 [桌面应用 |UWP 应用]
目标平台 Windows操作系统
标头 winnt.h (包括 Windows.h)

另请参阅

Int64ShllMod32

Int64ShraMod32

大整数