_lrotl
, _lrotr
비트를 왼쪽(_lrotl
) 또는 오른쪽(_lrotr
)으로 순환합니다.
구문
unsigned long _lrotl( unsigned long value, int shift );
unsigned long _lrotr( unsigned long value, int shift );
매개 변수
value
순환할 값입니다.
shift
이동할 value
비트 수입니다.
반환 값
두 함수 모두 순환된 값을 반환합니다. 오류 반환이 없습니다.
설명
_lrotl
및 _lrotr
함수는 비트별로 shift
회전 value
합니다. _lrotl
값을 더 중요한 비트로 회전합니다. _lrotr
값을 오른쪽으로 회전하여 덜 중요한 비트로 회전합니다. 두 함수 모두 한 쪽 끝에서 다른 끝 value
으로 회전된 비트를 래핑합니다.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
_lrotl , _lrotr |
<stdlib.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// crt_lrot.c
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
unsigned long val = 0x0fac35791;
printf( "0x%8.8lx rotated left eight bits is 0x%8.8lx\n",
val, _lrotl( val, 8 ) );
printf( "0x%8.8lx rotated right four bits is 0x%8.8lx\n",
val, _lrotr( val, 4 ) );
}
0xfac35791 rotated left eight bits is 0xc35791fa
0xfac35791 rotated right four bits is 0x1fac3579