_rotl, _rotl64, _rotr, _rotr64

비트는 왼쪽으로 회전 합니다 (_rotl) 또는 오른쪽 (_rotr).

unsigned int _rotl(
   unsigned int value,
   int shift 
);
unsigned __int64 _rotl64(
   unsigned __int64 value, 
   int shift
);
unsigned int _rotr(
   unsigned int value,
   int shift 
);
unsigned __int64 _rotr64(
   unsigned __int64 value,
   int shift
);

매개 변수

  • value
    회전 값입니다.

  • shift
    이동할 비트 수입니다.

반환 값

회전 된 값입니다.없음 오류가 반환이 됩니다.

설명

_rotl_rotr 함수는 부호 없는 회전 에서 shift 비트입니다._rotl유지 된 값으로 회전 합니다._rotr값 오른쪽으로 회전합니다.두 함수 모두 해제의 한쪽 끝을 회전 비트 줄 바꿈 다른 끝.

요구 사항

루틴

필수 헤더

_rotl, _rotl64

<stdlib.h>

_rotr, _rotr64

<stdlib.h>

더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

라이브러리

모든 버전의 C 런타임 라이브러리.

예제

// crt_rot.c
/* This program shifts values to rotate an integer.
 */

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   unsigned val = 0x0fd93;
   __int64 val2 = 0x0101010101010101;

   printf( "0x%4.4x rotated left three times is 0x%4.4x\n", 
           val, _rotl( val, 3 ) );
   printf( "0x%4.4x rotated right four times is 0x%4.4x\n", 
           val, _rotr( val, 4 ) );

   printf( "%I64x rotated left three times is %I64x\n",
           val2, _rotl64( val2, 3 ) );
   printf( "%I64x rotated right four times is %I64x\n", 
           val2, _rotr64( val2, 4 ) );
}

Output

0xfd93 rotated left three times is 0x7ec98
0xfd93 rotated right four times is 0x30000fd9
101010101010101 rotated left three times is 808080808080808
101010101010101 rotated right four times is 1010101010101010

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

부동 소수점 지원

_lrotl, _lrotr