Int64ShraMod32

【勇芳软件工作室】汉化HomePreviousNext

Int64ShraMod32功能对有符号的64位整数值执行正确的算术移位操作。该函数提供了改进的移位代码,用于右移算,其中移位计数范围为0 - 31。

LONGLONG Int64ShraMod32(

LONGLONG 【值】,//指定带符号的64位整数,以便算术运算
DWORD 【ShiftCount】//指定范围0 - 31的班次计数
); 

参数

【值】

指定要移位的带符号的64位整数。

【ShiftCount】

指定移位计数范围0 - 31。

返回值

返回值是右侧算术移位操作的带符号64位整数结果。

备注

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

在有符号值的右侧算术移位操作中,值的位向右移动,并且值左侧的空位将被设置为符号位的值。

当移位计数为常数时,编译器可以为右侧算术移位操作生成最佳代码。但是,如果移位计数是值范围未知的变量,则编译器必须承担最差的情况,导致非最佳代码:调用子例程的代码或内联但分支的代码。通过将移位计数限制在0 - 31范围内,Int64ShraMod32函数可以让编译器生成最佳或接近最佳代码。

请注意,Int64ShraMod32函数的【值】参数和返回值是64位值,而不是LARGE_INTEGER结构。

也可以看看

Int64ShllMod32, Int64ShrlMod32