__ull_rshift
Только для систем Microsoft
миграция на x64 с пакетом обновления 64 (sp2) указано недопустимое значение первым параметром направо несколько битов, указанных вторым параметром.
unsigned __int64 __ull_rshift(
unsigned __int64 mask,
int nBit
);
Параметры
[входящий] mask
64 - Целое значение, которое требуется сдвигать права.[входящий] nBit
Число битов для сдвигать, остатка от деления 32 на базе x86 и остатка от деления 64 на x64.
Возвращаемое значение
Маска сдвиганная битами nBit.
Требования
Встроенный объект |
Архитектура |
---|---|
__ull_rshift |
x86, x64 |
Файл заголовка <intrin.h>
Заметки
Если второй параметр больше 31 для платформы x86 (63 для x64), принимающие этому числу остаток от деления 64 на 32 (64-разрядная версия), чтобы определить количество битов, чтобы сдвигать. 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;
}
Output
1