Freigeben über


__ull_rshift

Microsoft-spezifisch

auf x64 verschiebt einen 64-Bit-Wert, der durch den ersten Parameter nach rechts durch eine Anzahl von Bits angegeben wird, die durch den zweiten Parameter angegeben werden.

Syntax

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

Parameter

mask
[in] Der ganzzahlige 64-Bit-Wert, der nach rechts verschoben werden soll.

nBit
[in] Die Anzahl der zu verschiebenden Bits, Modulo 32 auf x86 und Modulo 64 auf x64.

Rückgabewert

Die maskierte Verschiebung nach nBit Bits.

Anforderungen

Intrinsic Aufbau
__ull_rshift x86, x64

Headerdatei<intrin.h>

Hinweise

Wenn der zweite Parameter größer als 31 auf x86 (63 auf x64) ist, wird diese Zahl modulo 32 (64 auf x64) verwendet, um die Anzahl der zu verschiebenden Bits zu bestimmen. Der ull Name gibt an unsigned long long (unsigned __int64).

Beispiel

// 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

Ende Microsoft-spezifisch

Siehe auch

__ll_lshift
__ll_rshift
Systeminterne Compiler