_rotl, _rotl64, _rotr, _rotr64

Выполняет циклический сдвиг битов влево (_rotlили right ()_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
);

Параметры

  • значение
    Значение, которое необходимо вращать.

  • shift
    Количество битов для сдвигать.

Возвращаемое значение

Вращанное значение.Отсутствие получение ошибки.

Заметки

_rotl и _rotr функции выполняют циклический сдвиг unsigned Значение shift биты._rotl выполняет циклический сдвиг значение left._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