_lrotl, _lrotr
Циклически сдвигает биты влево (_lrotl) или вправо (_lrotr).
unsigned long _lrotl(
unsigned long value,
int shift
);
unsigned long _lrotr(
unsigned long value,
int shift
);
Параметры
значение
Значение для сдвига.shift
Количество битов для сдвига value.
Возвращаемое значение
Обе функции возвращают сдвинутое значение. Нет какого-либо возврата ошибки.
Заметки
Функции _lrotl и _lrotr сдвигают value на shift битов. _lrotl выполняет циклический сдвиг влево. _lrotr выполняет циклический сдвиг вправо. Обе функции перемещают вытесненные с одного конца value биты в другой конец.
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_lrotl |
<stdlib.h> |
_lrotr |
<stdlib.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Библиотеки
Все версии библиотек времени выполнения C.
Пример
// crt_lrot.c
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
unsigned long val = 0x0fac35791;
printf( "0x%8.8lx rotated left eight times is 0x%8.8lx\n",
val, _lrotl( val, 8 ) );
printf( "0x%8.8lx rotated right four times is 0x%8.8lx\n",
val, _lrotr( val, 4 ) );
}
Output
0xfac35791 rotated left eight times is 0xc35791fa
0xfac35791 rotated right four times is 0x1fac3579
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.