Operadores bit a bit en lenguaje C

Bitwise Operators C Language



Los operadores bit a bit, a menudo conocidos como codificación a nivel de bit, se han descartado para interpretar datos solo a nivel de bit. Bitwise realiza operaciones en uno o incluso patrones de bits adicionales y números binarios en el nivel de bits. Estos se han utilizado para acelerar la progresión de la estimación de cálculos numéricos. Consiste en dos números, uno de los cuales es 0 y el otro es 1. Aquí hay algunos operadores bit a bit que discutiremos en nuestro artículo.

Inicie sesión desde su sistema Linux y pruebe el atajo Ctrl + Alt + T para abrir la terminal de la consola. Tendremos algunos ejemplos para desarrollar las operaciones de los operadores bit a bit en el lenguaje C. Desarrollemos cada operador bit a bit por separado.







Y bit a bit:

El operador bit a bit se ha utilizado para replicar un bit al resultado si ese bit está presente en ambos operandos mutuos. C o C ++ requiere 2 operandos que realicen Y en cada bit de esos dos enteros. Y resultados bit a bit 1 cuando ambos bits tienen un valor de 1. Entonces, para entender el funcionamiento, cree y abra un archivo de tipo C usando el editor Nano. Para eso, tenemos que consumir instrucciones nano en el shell de la siguiente manera:



$nanoprueba.c



El código para el operador AND bit a bit se muestra en la siguiente imagen. Todo lo que tiene que hacer es escribir este código en el archivo test.c del editor nano GNU tal como está. Este código tiene la biblioteca de encabezado stdio.h sin la cual no podemos realizar la codificación en la programación C. Luego, hemos creado un método principal con su tipo de retorno como entero. En el lenguaje C, la ejecución del código se realiza a través del método principal. Así que hemos declarado dos variables de tipo entero, xey, con los valores 35 y 13 en consecuencia. Después de eso, se ha especificado otra variable entera con cero como valor. Usaremos las dos primeras variables enteras y aplicaremos el operador AND bit a bit entre ellas. Este trabajo se ha realizado en la siguiente línea donde el operador AND se ha utilizado como &, y el valor resultante se almacenará en la variable nula z. Luego, usamos la declaración de impresión para mostrar el valor resultante en la pantalla del terminal, y el método principal se cierra. Guarde su archivo usando el atajo de GNU Ctrl + S y luego salga del editor nano a través de Ctrl + X desde la máquina de escribir del teclado.





Entonces, es el momento de compilar el código anterior después de guardar el archivo. Use la instrucción gcc en el shell de su consola mientras usa el nombre de un archivo como test.c o lo que sea que haya llamado el archivo y presione la tecla Enter. Puede ver que no muestra ningún error; esto significa que el código es correcto manualmente.



$gccprueba.c

Una vez compilado el código, es hora de ejecutarlo ahora. Para este propósito, ejecute la consulta que se indica a continuación en el shell. La salida muestra 1 como resultado. Esto significa que nuestras dos variables enteras tienen 1 en uno de sus bits. Por eso devuelve 1.

$./fuera

O bit a bit:

Ahora, se debe elaborar el operador OR bit a bit. El operador bit a bit devuelve 1 como resultado cuando uno de sus bits es 1. Si ambos bits de dos enteros son 0, entonces produce 0. Después de obtener todos los bits, se generará un conjunto de bits. Tenemos que ver qué número formaron esos bits. Entonces, abra el mismo documento test.c primero. Escriba y luego guarde el código que se muestra a continuación en el archivo GNU usando la tecla Ctrl + S. El código es casi el mismo que el del ejemplo de operador AND bit a bit anterior. Esta vez acabamos de cambiar el valor del entero x a 47, y hemos utilizado el operador OR, p. Ej. | entre ambas variables. Salga del archivo para compilar el código.

Después de ejecutar con éxito el documento test.c, muestra el bit de salida 47.

$./fuera

XOR bit a bit:

El operador bit a bit devuelve 1 cuando ambos bits numéricos son diferentes. Entonces, cuando los bits son iguales, dará 0. El signo del operador ^ representará el operador bit a bit. Entonces, nuevamente, abra el documento y escriba el mismo código antiguo en el editor de archivos GNU. Esta vez hemos estado usando los operadores ^ dentro de dos variables enteras, y el resultado se almacenará en la variable z mientras se imprime en la terminal.

Compilar y ejecutar el archivo test.c devuelve 34 como resultado. Esto significa que el nuevo entero 34 se genera después de que se haya aplicado el operador XOR a dos variables enteras.

$./fuera

Complemento bit a bit:

Este operador solo se aplicará a una única variable y revertirá el valor del número de bit. Por ejemplo, cambiará el bit 0 a 1 y el 1 a 0 bit. Escriba el mismo código en el mismo archivo pero con un pequeño cambio en la línea 6. Hemos asignado el reverso de xa z.

Compile el archivo y ejecútelo. En C, el resultado del complemento Bitwise se ha incrementado en 1 con signo negativo.

Operador de cambio a la izquierda:

Cambiará el lugar de los bits hasta cierto punto. El mismo código se puede mostrar en la imagen adjunta a continuación. En este ejemplo, desplazaremos 2 bits a la izquierda.

La salida muestra el 188 como un valor recién generado.

$./fuera

Operador de cambio a la derecha:

Funciona igual que el cambio a la izquierda pero en la dirección opuesta, como se muestra en el código a continuación.

Esta vez tenemos 11 como salida al desplazar 2 bits al lado derecho.

$./fuera

Conclusión:

Hemos cubierto todos los operadores básicos de 6 bits en nuestro código de lenguaje C en este artículo. Espero que obtengas lo que querías de nuestra guía.