Udostępnij za pośrednictwem


_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