Поделиться через


Макрос Int64ShllMod32 (winnt.h)

Выполняет операцию логического сдвига влево для 64-разрядного целочисленного значения без знака. Функция предоставляет улучшенный код сдвига для левых логических сдвигов, где число сдвигов находится в диапазоне от 0 до 31.

Синтаксис

void Int64ShllMod32(
  [in]  a,
  [in]  b
);

Параметры

[in] a

Сдвигаемое 64-разрядное целое число без знака.

[in] b

Число сдвига в диапазоне от 0 до 31.

Возвращаемое значение

None

Remarks

Число сдвига — это количество позиций битов, которые перемещаются битами значения.

В операции логического сдвига влево для неподписаемого значения биты значения перемещаются влево, а освобожденные биты в правой части значения устанавливаются в нулевое значение.

Компилятор может создать оптимальный код для операции логического сдвига влево, если число сдвигов является константой. Однако если число сдвигов является переменной, диапазон значений которой неизвестен, компилятор должен предположить наихудший случай, что приводит к неоптимальным кодам: коду, который вызывает подпрограмму, или коду, который является встроенным, но ветви. Если количество сдвига ограничено диапазоном от 0 до 31, функция Int64ShllMod32 позволяет компилятору создавать оптимальный или почти оптимальный код.

Обратите внимание, что параметр Value функции Int64ShllMod32 и возвращаемое значение являются 64-разрядными значениями, а не LARGE_INTEGER структурами.

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header winnt.h (включая Windows.h)

См. также раздел

Int64ShraMod32

Int64ShrlMod32

Большие целые числа