Operadores de turno en C

Operadores de turno en C

En general, no debe necesitar preocuparse por las operaciones en algún lugar a nivel de bit como desarrollador. Puede conceptualizar en términos de bytes, int y dobles, e incluso datos de nivel superior. Sin embargo, hay casos en los que te gustaría acercar una sola pieza. Los bits en una variable entera se desplazan por un número definido de posiciones utilizando dos operadores de turno. El operador ">>" cambia bits a la derecha, mientras el operador cambia bits a la izquierda. En general, el empleo de los operadores de desplazamiento izquierdo y derecho en lugar de la computación y luego la multiplicación por un poder de dos dará como resultado un código sustancialmente más rápido.

Como resultado, podemos dividir el operador de cambio bitwise en dos categorías principales:

  • Operador de cambio de izquierda
  • Operador de cambio derecho

Ejemplo del operador de desplazamiento izquierdo

En C, es un operador de turno bitwise que funciona con bits. Es un operador binario, lo que significa que funciona con dos operandos. Se usa para mover los bits de un valor hacia la izquierda agregando ceros a los espacios vacíos que quedan después de cambiar. Por el número de lugares especificados por el segundo operando, los primeros bits de operando se mueven a la izquierda.

Sintaxis

"NameOfVariable"<Puede haber dos valores en la sintaxis exhibida anteriormente; La primera es una variable entera en la que podríamos usar el operador de desplazamiento izquierdo. El nombre de esta variable puede ser cualquier cosa que el usuario quiera que sea. El segundo valor es un entero que define cuántos lugares se deben mover los bits a la izquierda.

El resultado de la operación de cambio de izquierda será desconocido si el primer operando es negativo. Del mismo modo, si de alguna manera el valor del segundo operando es negativo o más o igual al número de bits durante el primer operando, el resultado de la operación de cambio de izquierda está indefinido. Mientras que si el valor del segundo operando es mayor que el tamaño del entero, el resultado de la operación de cambio de izquierda también estaría indefinido.

Estamos implementando todos estos ejemplos en Ubuntu 20.04 Sistema operativo Linux. Abra la ventana terminal del Ubuntu 20.04 Sistema operativo de Linux y ejecute las siguientes instrucciones adjuntas en el shell para crear un archivo titulado "LeftShift.C". La extensión del archivo es .C, que representa el archivo es para el lenguaje de programación C.

$ nano zurdo.C

Después de la creación, el archivo se abrirá en el editor de GNU. Ejecutar el código de programación enumerado a continuación.

En este código, hemos asignado los valores a "A" y "B" como "2" y "9" y aplicaron el operador de desplazamiento izquierdo en ambos. Hemos impreso el resultado utilizando la función printf (). Todo el código está escrito en la función principal. Después de guardar este archivo, escriba los comandos enumerados a continuación para la ejecución y la compilación del código atacado anteriormente con la ayuda del compilador GCC.

$ GCC Leftshift.C
ps ./a.afuera

Tras la ejecución, se muestra la salida, como puede verificar en la imagen adjunta.

Ejemplo del operador de cambio derecho

Dos números se utilizan como operandos en la operación de desplazamiento derecho (>>). El segundo operando determina si el primer operando debe cambiar correctamente los bits, así como el número de lugares que deben cambiarse. En otras palabras, se usa 0 a menos que el número sea positivo, y 1 se usa cuando el número es negativo.

Sintaxis

"NameOfVariable" >> "TotalPositionNumbers"

Puede haber dos valores en la línea anterior; La primera es una variable entera para usar el operador de cambio correcto. El nombre de esta variable puede ser cualquier cosa que el usuario quiera que sea. El segundo valor es un entero que define cuántos lugares se deben cambiar los bits hacia la derecha.

Estamos implementando todos estos ejemplos en Ubuntu 20.04 Sistema operativo Linux. Abra la ventana terminal del Ubuntu 20.04 Sistema operativo de Linux y ejecute las siguientes instrucciones adjuntas en el shell para crear un archivo titulado "Rshift.C". La extensión del archivo es .C, que representa el archivo es para el lenguaje de programación C.

Después de la creación, el archivo se abrirá en el editor de GNU. Ejecutar el código de programación enumerado a continuación.

En este código, asignamos los valores a A y B como "5" y "9" y aplicamos el operador de cambio de izquierda en ambos. Hemos impreso el resultado utilizando la función printf (). Todo el código está escrito en la función principal. Después de guardar este archivo, escriba los comandos enumerados a continuación para la ejecución y la compilación del código atacado anteriormente con la ayuda del compilador GCC.

$ GCC rshift.C
ps ./a.afuera

Tras la ejecución, se muestra la salida, como puede verificar en la imagen adjunta.

Conclusión

Los operadores bitwise son un conjunto de operadores especiales dados por el lenguaje de programación 'C'. Se emplean en la programación a nivel de bits. En c /, aprendimos cómo utilizar los operadores de cambio de izquierda y derecha, que son importantes para las operaciones de cambio de bits en números sin firmar. Cuando se combinan los operadores de turno, los datos de la expresión de entero se pueden extraer. Creo que usará fácilmente a los operadores de turnos con la ayuda de esta guía exhaustiva.