__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 전용 종료