Por favor, hágamelo saber cómo trabaja el operador <> en C?

void main() { int x=5; printf("%d%d%d \n",x,x<>2); } 

Son operadores de cambio a la izquierda y a la derecha. Operaciones bitwise

<< y >> son los operadores de desplazamiento a izquierda y derecha, respectivamente.

Estos operadores aplican un cambio a nivel de bit al operando izquierdo; el número de posiciones a cambiar está determinado por el operando derecho.

En este ejemplo, tenemos tres expresiones: x , (x << 2) , y (x >> 2) .

Para x = 5 , los valores de estas expresiones son:

 Expr. Dec. Value Binary Value (Top 24 bits (all zero) ommitted) x 5 00000101 x << 2 20 00010100 x >> 2 1 00000001 

Observe que un desplazamiento a la izquierda de una posición multiplica efectivamente un int sin signo por 2; de manera similar, el desplazamiento a la derecha divide un entero sin signo por 2. Además, si el desplazamiento es aritmético o lógico (es decir, sensible al signo) depende de la implementación.

<< desplaza a la izquierda y >> a la derecha. Entonces en tu ejemplo x>>2 tira los últimos dos bits de los 5 (101 en binario). Eso sería 1.

5<<2 es 20 (10100 en binario).

Esos son operadores de cambio lógico, con < significa Mayúsculas izquierda x veces, y >>X significa Mayúsculas Derechas x veces.

Si tiene un número como 14, se almacena como una serie de bits "00001110". Cuando se desplaza hacia la izquierda este número 1 vez, la secuencia de bits almacenada cambia a "00011100", y obtiene el número 28. Desplazar un número a la izquierda equivale a multiplicarlo por 2, mientras que desplazarlo a la derecha equivale a dividir a 2 En este ejemplo, cualquier dígito en el lado izquierdo que se empujaría a un punto "9" simplemente desaparecerá, ya que solo hay 8 bits disponibles. Las mismas reglas se aplican para el turno correcto.

x< significa x * 2 ^ y (^ que significa "para el poder de") y x>>y significa x / 2 ^ y. Están bien definidos solo para x positivo, solo para y más pequeño que el ancho del tipo de x en bits, y si x está firmado, solo cuando el resultado no se desborda.

Estos son básicamente operadores de cambio a nivel de bit.

El operador de desplazamiento a la izquierda hace que el patrón de bits en el primer operando se desplace hacia la izquierda por el número de bits especificado por el segundo operando. El valor de una expresión de desplazamiento a la izquierda (x << y) es x * (2 ^ y)

00010111 MAYÚS IZQUIERDA por 1 = 00101110

El cambio a la derecha hace lo mismo pero desplaza el patrón de bits a la derecha. El valor de una expresión de desplazamiento a la derecha x >> y es x / (2 ^ y)

00010111 cambio a la derecha por 1 = 00001011