_lrotl
, _lrotr
Obraca bity w lewo (_lrotl
) lub w prawo (_lrotr
).
Składnia
unsigned long _lrotl( unsigned long value, int shift );
unsigned long _lrotr( unsigned long value, int shift );
Parametry
value
Wartość do rotacji.
shift
Liczba bitów do przesunięcia value
.
Wartość zwracana
Obie funkcje zwracają wartość obróconą. Nie ma zwracanego błędu.
Uwagi
Funkcje _lrotl
i _lrotr
obracają się value
według shift
bitów. _lrotl
obraca wartość w lewo, w kierunku bardziej znaczących bitów. _lrotr
obraca wartość w prawo, w kierunku mniej znaczących bitów. Obie funkcje zawijają bity obracane od jednego końca value
do drugiego końca.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_lrotl , _lrotr |
<stdlib.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
_rotl
, , _rotl64
, , _rotr
_rotr64