_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