Partager via


_lrotl, _lrotr

Soumet des bits à un décalage circulaire vers la gauche (_lrotl) ou vers la droite (_lrotr).

Syntaxe

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

Paramètres

value
Valeur à faire pivoter.

shift
Nombre de bits à déplacer value.

Valeur retournée

Les deux fonctions retournent la valeur soumise à un décalage circulaire. Il n’y a pas de retour d’erreur.

Notes

Les _lrotl fonctions et _lrotr les fonctions pivotent value par shift bits. _lrotl fait pivoter la valeur vers des bits plus significatifs. _lrotr fait pivoter la valeur vers des bits moins significatifs. Les deux fonctions encapsulent les bits pivotés d’une extrémité vers value l’autre extrémité.

Spécifications

Routine En-tête requis
_lrotl, _lrotr <stdlib.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

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

Voir aussi

Prise en charge mathématique et à virgule flottante
_rotl, _rotl64, _rotr, _rotr64