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:
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 (<
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.