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


__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

См. также

Ссылки

__ll_lshift

__ll_rshift

Встроенные объекты компилятора