다음을 통해 공유


Int64ShraMod32 매크로(winnt.h)

서명된 64비트 정수 값에 대해 올바른 산술 시프트 작업을 수행합니다. 함수는 시프트 수가 0-31 범위에 있는 오른쪽 산술 교대조에 대해 향상된 시프트 코드를 제공합니다.

구문

void Int64ShraMod32(
  [in]  a,
  [in]  b
);

매개 변수

[in] a

이동할 부속 64비트 정수입니다.

[in] b

0-31 범위의 시프트 수입니다.

반환 값

없음

설명

시프트 수는 값의 비트가 이동하는 비트 위치의 수입니다.

부호 있는 값에 대한 오른쪽 산술 시프트 작업에서 값의 비트는 오른쪽으로 이동하고 값의 왼쪽에 비어 있는 비트는 부호 비트의 값으로 설정됩니다.

컴파일러는 시프트 수가 상수일 때 올바른 산술 시프트 작업에 대한 최적의 코드를 생성할 수 있습니다. 그러나 시프트 수가 값 범위를 알 수 없는 변수인 경우 컴파일러는 최악의 경우를 가정하여 최적이 아닌 코드( 서브루틴을 호출하는 코드 또는 인라인이지만 분기인 코드)를 가정해야 합니다. Int64ShraMod32 함수는 시프트 수를 0-31 범위로 제한하여 컴파일러가 최적 또는 거의 최적 코드를 생성할 수 있도록 합니다.

Int64ShraMod32 함수의 Value 매개 변수 및 반환 값은 LARGE_INTEGER 구조체가 아닌 64비트 값입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winnt.h(Windows.h 포함)

추가 정보

Int64ShllMod32

Int64ShrlMod32

큰 정수