Arduino operadores bit a bit

Arduino operadores bit a bit
Hay múltiples tipos de operadores utilizados en la programación de Arduino para hacer diferentes condiciones. Estas condiciones luego regulan el flujo del código diseñado para realizar una tarea específica. Uno de los tipos más importantes de operadores utilizados en la programación de Arduino son los operadores bit a bit y, en este artículo, los operadores bit a bit y sus tipos se explican brevemente.

Operadores de bit a bit

Los operadores bit a bit se utilizan para aplicar los operadores booleanos en los decimales convirtiéndolos en el binario y luego estos operadores aplicaron poco a poco en el binario de ese número. Para fines de ilustración, se toman dos decimales 12 y 13 si ambos números se convierten en binarios, los valores se convierten en (1100) y (1101) respectivamente.

Básicamente, hay seis operadores de bit a bit que son:

  • Y
  • O
  • NO
  • Xor
  • Shift izquierdo
  • Giro a la derecha

Bit a bit y operador

El primer operador bitwise es el y el operador que le da a la salida uno solo cuando ambas entradas son una o verdadera. El letrero para usar bitwise es "Y". Para una mayor comprensión, la operación y la operación se aplica en los valores binarios de 12 y 13 respectivamente. La operación se aplica bit a bit a los binarios de los números como el primer bit de 12 que es 1 y con el primer bit de 13 que también es uno, por lo que el resultado de la operación es uno y así sucesivamente, por lo que el resultado de esto y la operación es (1100) que es 12 si lo convertimos en decimal.

Decimal 12 13
Binario 1100 1101
Operador (12 y 13)
Resultado (1100)
Binario a decimal 12

Bitwise u operador

El segundo operador que es o cuando se aplica en los números binarios da una como salida cuando solo una de las entradas es 1, por lo que podemos decir que la salida de la operación u será cero cuando ambas entradas son cero. El letrero utilizado para el operador OR es "|". Para comprender mejor el funcionamiento de o podemos aplicar esto u operador en los binarios de 12 y 13.

El operador OR se aplica bit a bit en los binarios de 12 y 13 como el primer bit de 13 es 1 y el primer bit de 12 también es uno, por lo que la salida también será una operación en el resto del bit será el mismo. El resultado es (1101) que luego se convierte en decimal que es 13

Decimal 12 13
Binario 1100 1101
Operador (12 | 13)
Resultado (1101)
Binario a decimal 13

Bit a bit no operador

El operador no, a diferencia de los otros operadores, tiene solo una entrada y salida e invertida la entrada. El letrero utilizado para representar el operador no es "~". Aquí usaremos el binario de un decimal. Por ejemplo, si tomamos el binario del 13 que es (1101) después de la operación del operador o vendrá (0010) que es 2 en decimales.

Decimal 13
Binario 1101
Operador (~ 13)
Resultado (0010)
Binario a decimal 2

Operador XOR bitwise

Este operador bit a bit se llama exclusivo o la única diferencia es que tiene con lo ordinario u operación es que su salida será cero cuando ambas entradas son una. Para representar o utilizar esta operación en la programación de Arduino, el letrero utilizado es "^". Si se aplica esta operación para los números 12 y 13 cuyos binarios son (1100) y (1101) el resultado de la operación XOR de bits es (0001) y el decimal de este binario es 1.

Decimal 12 13
Binario 1100 1101
Operador (12 ^ 13)
Resultado (0001)
Binario a decimal 1

Desplazamiento izquierdo de bit a bits y desplazamiento derecho

El cambio de los bits de un binario de un número se puede hacer utilizando el operador de desplazamiento; El operador de cambio se divide en dos tipos dependiendo de qué lado se debe hacer el cambio. Para tener un cambio en el lado derecho, la fórmula utilizada para esto es (A/(2^B)).

Del mismo modo, para hacer un cambio a la izquierda, la fórmula utilizada es (A*(2^b)). Aquí a es el número en el que el cambio debe aplicar ,2 es el número de bits y b es el número de cambios de bits dados al número. La representación del cambio de izquierda es (<) y para el cambio correcto es (>> C) aquí C es el número de bits al que se debe cambiar el número, por ejemplo, si cambiamos 12 dos bits a la izquierda y cambiamos dos bits a la derecha, el resultado para el cambio izquierdo será 48 y para el cambio derecho será 3.

Decimal 12 12
Binario 1100 1100
Operador 12 <<2 12 >> 2
Resultado 110000 11
Binario a decimal 48 3

El programa Arduino para todos los operadores de bits se compila para dar una imagen clara de la funcionalidad de estos operadores:

int a = 12;
int b = 13;
int c; // para almacenar el resultado
setup () void // Pon su código de configuración aquí, para ejecutar una vez:
De serie.Begin (9600); // Inicialización de la comunicación en serie
De serie.imprimir ("y:");
c = a & b;
De serie.println (c);
De serie.imprimir ("o:");
c = a | b;
De serie.println (c);
De serie.imprimir ("Xor:");
c = a^b;
De serie.println (c);
De serie.imprimir ("no:");
c = ~ a;
De serie.println (c);
De serie.imprimir ("SHIFT IZQUIERDO:");
c = 12<<2;
De serie.println (c);
De serie.imprimir ("CHIVE RERECHO:");
c = 12 >> 2;
De serie.println (c);

bucle void ()
// Pon tu código principal aquí, para ejecutar repetidamente:

Producción

Conclusión

Para aplicar la operación lógica en dos números bit a poco, se utilizan los operadores bit a bit, y estos operadores ayudan a hacer la condición utilizada para realizar una tarea específica. Este artículo explica brevemente cada tipo de operador bitwise con ejemplos y también se da un concepto claro de estos operadores y un código arduino simple.