共用方式為


Int64ShraMod32 巨集 (winnt.h)

在帶正負號的64位整數值上執行右算術移位運算。 函式會針對移位計數在 0-31 範圍中的右算術移位,提供改良的移位程序代碼。

語法

LONGLONG Int64ShraMod32(
  [in]  LONGLONG a,
  [in]  DWORD b
);

參數

[in] a

要移位的帶正負號 64 位整數。

[in] b

範圍 0-31 中的班次計數。

返回值

類型: LONGLONG

傳回值是右算術移位運算的帶正負號 64 位整數結果。

備註

班次計數是值位移動的位位置數目。

在帶正負號值的右算術移位運算中,值的位會向右移動,而值左邊的空置位會設定為符號位的值。

當班次計數為常數時,編譯程式可以為正確的算術移位運算產生最佳程序代碼。 不過,如果班次計數是值範圍未知的變數,編譯程式必須假設最差的情況,導致非最佳程式代碼:呼叫子程式代碼的程序代碼,或是內嵌但分支的程序代碼。 藉由將班次計數限制為 0-31 範圍, Int64ShraMod32 函式可讓編譯程式產生最佳或近乎最佳的程式代碼。

請注意, Int64ShraMod32 函式的 Value 參數和傳回值是 64 位值,而不是 LARGE_INTEGER 結構。

需求

要求 價值觀
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
頁首 winnt.h (包括 Windows.h)

另請參閱

Int64ShllMod32

Int64ShrlMod32

大型整數