int64ShraMod32 宏 (winnt.h)
在帶正負號的64位整數值上執行右算術移位運算。 函式為右算術位移提供改善的移位程序代碼,其中移位計數在 0-31 範圍內。
語法
void Int64ShraMod32(
[in] a,
[in] b
);
參數
[in] a
要移位的帶正負號 64 位整數。
[in] b
範圍 0-31 中的班次計數。
傳回值
無
備註
移位計數是值位移動的位位置數目。
在帶正負號值的右算術移位運算中,值的位會移至右邊,而值左邊的空位會設定為符號位的值。
當移位計數為常數時,編譯程式可以針對正確的算術移位運算產生最佳程序代碼。 不過,如果班次計數是值範圍未知的變數,編譯程式必須假設最差的情況,導致非最佳程式代碼:呼叫子程式的程式代碼,或內嵌但分支的程序代碼。 藉由將移位計數限制為範圍 0-31,Int64ShraMod32 函式可讓編譯程式產生最佳或接近最佳程序代碼。
請注意, Int64ShraMod32 函式的 Value 參數和傳回值是 64 位值,而不是 LARGE_INTEGER 結構。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | winnt.h (包含 Windows.h) |