Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_rotr8, _rotr16

Específicos de Microsoft

Girar los valores de entrada a la derecha hacia el bit menos significativo (LSB) según un número especificado de posiciones de bit.

unsigned char _rotr8(     unsigned char value,     unsigned char shift  ); unsigned short _rotr16(     unsigned short value,     unsigned char shift  );

[in] value

El valor que se va a girar.

[in] shift

El número de bits que se va a girar.

El valor girado.

Función intrínseca

Arquitectura

_rotr8

x86, ARM, x64

_rotr16

x86, ARM, x64

Archivo de encabezado <intrin.h>

A diferencia de una operación de desplazamiento a la derecha, al ejecutar un giro a la derecha, los bits de valor inferior baja que caen fuera del extremo inferior se mueven a las posiciones de los bits de valor superior.

// rotr.cpp
#include <stdio.h>
#include <intrin.h>

#pragma intrinsic(_rotr8, _rotr16)

int main()
{
    unsigned char c = 'A', c1, c2;

    for (int i = 0; i < 8; i++)
    {
       printf_s("Rotating 0x%x right by %d bits gives 0x%x\n", c,
                i, _rotr8(c, i));
    }

    unsigned short s = 0x12;
    int nBit = 10;

    printf_s("Rotating unsigned short 0x%x right by %d bits "
             "gives 0x%x\n",
            s, nBit, _rotr16(s, nBit));
}
La rotación de 0x41 a la derecha 0 bits da 0x41
La rotación de 0x41 a la derecha 1 bit da 0xa0
La rotación de 0x41 a la derecha 2 bits da 0x50
La rotación de 0x41 a la derecha 3 bits da 0x28
La rotación de 0x41 a la derecha 4 bits da 0x14
La rotación de 0x41 a la derecha 5 bits da 0xa
La rotación de 0x41 a la derecha 6 bits da 0x5
La rotación de 0x41 a la derecha 7 bits da 0x82
La rotación de 0x12 corto sin signo a la derecha 10 bits da 0x480

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft