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


__ull_rshift

Блок, относящийся только к системам Майкрософт

в x64 сдвигает 64-разрядное значение, указанное первым параметром вправо на несколько битов, указанных вторым параметром.

Синтаксис

unsigned __int64 __ull_rshift(
   unsigned __int64 mask,
   int nBit
);

Параметры

mask
[in] 64-разрядное целое число для перемещения вправо.

nBit
[in] Количество битов для смены, модуло 32 на x86 и modulo 64 на x64.

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

Маска смещена nBit битами.

Требования

Intrinsic Архитектура
__ull_rshift x86, x64

Файл<заголовка intrin.h>

Замечания

Если второй параметр больше 31 на x86 (63 на x64), то это число принимается по модулю 32 (64 на x64), чтобы определить количество битов для смены. В ull имени указано unsigned long long (unsigned __int64).

Пример

// ull_rshift.cpp
// compile with: /EHsc
// processor: x86, x64
#include <iostream>
#include <intrin.h>
using namespace std;

#pragma intrinsic(__ull_rshift)

int main()
{
   unsigned __int64 mask = 0x100;
   int nBit = 8;
   mask = __ull_rshift(mask, nBit);
   cout << hex << mask << endl;
}
1

Завершение блока, относящегося только к системам Майкрософт

См. также

__ll_lshift
__ll_rshift
Встроенные компоненты компилятора