在未帶正負號的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 應用程式] |
| 目標平臺 | 窗戶 |
| 頁首 | winnt.h (包括 Windows.h) |