_lrotl, _lrotr

Ruota i bit a sinistra (_lrotl) o a destra (_lrotr).

Sintassi

unsigned long _lrotl( unsigned long value, int shift );
unsigned long _lrotr( unsigned long value, int shift );

Parametri

value
Valore da ruotare.

shift
Numero di bit da spostare value.

Valore restituito

Entrambe le funzioni restituiscono il valore ruotato. Non viene restituito alcun errore.

Osservazioni:

Le _lrotl funzioni e _lrotr ruotano value in shift base ai bit. _lrotl ruota il valore a sinistra, verso bit più significativi. _lrotr ruota il valore a destra, verso bit meno significativi. Entrambe le funzioni eseguono il wrapping dei bit ruotati da un'estremità all'altra value .

Requisiti

Ciclo Intestazione obbligatoria
_lrotl, _lrotr <stdlib.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

// 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

Vedi anche

Supporto matematico e a virgola mobile
_rotl, _rotl64, _rotr, _rotr64