다음을 통해 공유


__ll_rshift

Microsoft 전용

두 번째 매개 변수에 의해 지정 된 비트 수 오른쪽 첫 번째 매개 변수에 의해 지정 된 64 비트 값을 이동 합니다.

__int64 __ll_rshift(
   __int64 Mask,
   int nBit
);

매개 변수

  • [in] Mask
    오른쪽으로 이동 하는 64 비트 정수 값입니다.

  • [in] nBit
    이동할 64 x 64의 나머지와 나머지 x 86 32 비트 개수입니다.

반환 값

마스크를 이동 하 여 nBit 비트.

요구 사항

내장

아키텍처

__ll_rshift

x 86x64

헤더 파일 <intrin.h>

설명

두 번째 매개 변수 (32) x 86에서 x 64에서 64 보다 크면 해당 번호 모듈러스 64 (32 x 86) 이동할 비트 수를 확인 하지 않습니다. ll 접두사가 작업에서 임을 나타냅니다 long long, 다른 이름 __int64, 64 비트 부호 있는 정수 계열 형식입니다.

예제

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

#pragma intrinsic(__ll_rshift)

int main()
{
   __int64 Mask = - 0x100;
   int nBit = 4;
   cout << hex << Mask << endl;
   cout << " - " << (- Mask) << endl;
   Mask = __ll_rshift(Mask, nBit);
   cout << hex << Mask << endl;
   cout << " - " << (- Mask) << endl;
}

Output

ffffffffffffff00
 - 100
fffffffffffffff0
 - 10

참고 경우 _ull_rshift 되었습니다 원하는 결과가 음수 값의 경우 가져온 것 없습니다 있도록 사용 하면 MSB 오른쪽 이동 값을 0, 했을 것입니다.

참고 항목

참조

컴파일러 내장 함수

__ll_lshift

__ull_rshift