Int64ShllMod32函数对无符号64位整数值执行左逻辑移位操作。该函数提供了用于左逻辑移位的改进的移位代码,其中移位计数在0-31范围内。
DWORDLONG Int64ShllMod32(
DWORDLONG 【值】, | //指定无符号的64位整数,从逻辑上左移 |
DWORD 【ShiftCount】 | //指定范围0 - 31的班次计数 |
); |
参数
【值】
指定要移位的无符号64位整数。
【ShiftCount】
指定移位计数范围0 - 31。
返回值
返回值是左逻辑移位操作的无符号64位整数结果。
备注
移位计数是值的位移动的位位数。
在无符号值的左逻辑移位操作中,值的位向左移动,并且值右侧的空位被设置为零。
当移位计数为常数时,编译器可以为左逻辑移位操作生成最佳代码。但是,如果移位计数是值范围未知的变量,则编译器必须承担最差的情况,导致非最佳代码:调用子例程的代码或内联但分支的代码。通过将移位计数限制在0 - 31范围内,Int64ShllMod32函数可以让编译器生成最佳或接近最佳代码。
请注意,Int64ShllMod32函数的【值】参数和返回值是64位值,而不是LARGE_INTEGER结构。
也可以看看