다음을 통해 공유


__ll_lshift

Microsoft 전용

제공된 64비트 값을 지정된 비트 수만큼 왼쪽으로 이동합니다.

구문

unsigned __int64 __ll_lshift(
   unsigned __int64 Mask,
   int nBit
);

매개 변수

마스크
[in] 왼쪽으로 이동할 64비트 정수 값입니다.

nBit
[in] 이동할 비트 수입니다.

반환 값

마스크가 왼쪽으로 비트씩 nBit 이동했습니다.

요구 사항

Intrinsic 아키텍처
__ll_lshift x86, x64

헤더 파일<intrin.h>

설명

64비트 아키텍처에 대한 프로그램을 컴파일하고 nBit 63보다 큰 경우 이동할 비트 수는 모듈로 64입니다 nBit . 32비트 아키텍처에 대한 프로그램을 컴파일하고 nBit 31보다 큰 경우 이동할 비트 수는 모듈로 32입니다 nBit .

ll 이름에 ()에 대한 long long__int64작업임을 나타냅니다.

예시

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

#pragma intrinsic(__ll_lshift)

int main()
{
   unsigned __int64 Mask = 0x100;
   int nBit = 8;
   Mask = __ll_lshift(Mask, nBit);
   cout << hex << Mask << endl;
}

출력

10000

참고 항목

왼쪽 시프트 작업의 부호 없는 버전이 없습니다. 부호 없는 입력 매개 변수를 이미 사용하고 있기 때문 __ll_lshift 입니다. 오른쪽 시프트와 달리 왼쪽 시프트에 대한 기호 의존도는 없습니다. 결과에서 가장 중요한 비트는 이동된 값의 부호에 관계없이 항상 0으로 설정되기 때문입니다.

Microsoft 전용 종료

참고 항목

__ll_rshift
__ull_rshift
컴파일러 내장 함수