Las operaciones lógicas binarias (también conocidas como operaciones booleanas), permiten la manipulación y el análisis de condiciones dentro de sistemas digitales.
En el ámbito de las operaciones lógicas, trataremos los bits como valores booleanos. En decir, en estas operaciones vamos a considerar que 0
es falso, y 1
es verdadero.
Por otro lado, las operaciones lógicas operan a nivel individual de cada bit del número binario. Llamamos a esto operaciones “bitwise” (operación bit a bit)
Se llaman operaciones lógicas porque muestran paralelismos con la “lógica tradicional”, donde existen operaciones como AND, OR y NOT, representadas por símbolos como ”∧”, ”∨” y ”¬“.
Operación AND (Y Lógico)
La operación AND toma dos bits como entrada y produce un bit de salida que es 1 si y solo si ambos bits de entrada son 1. La tabla de verdad para la operación AND es la siguiente:
A | B | A AND B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Le llamamos operación Y, porque el concepto es similar a lo que tenemos al concepto de “y” que tenemos en la cabeza
A y B es cierto, si tanto A como B son ciertos
Para aplicarlo a números binarios, realizamos la operación bitwise
(es decir, a cada bit individualmente).
1010
AND
1100
_____
1000
Ya que solo los bits que son verdadero en ambos números de entrada permanecen encendidos en el resultado.
Operación OR (O Lógico)
La operación OR toma dos bits como entrada y produce un bit de salida que es 1 si al menos uno de los bits de entrada es 1. La tabla de verdad para la operación OR es la siguiente:
A | B | A OR B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Que como vemos equivale al concepto de “O” que tenemos en la cabeza.
A o B es cierto, si pasa A o si pasa B
Si lo aplicamos a números binarios, nuevamente realizamos la operación “bitwise”. Por ejemplo,
1010
OR
1100
_____
1110
Operación NOT (NO Lógico)
La operación NOT toma un solo bit como entrada y produce un bit de salida que es el complemento del bit de entrada. Es decir, si el bit de entrada es 0
, el bit de salida será 1
, y viceversa.
La tabla de verdad para la operación NOT es la siguiente:
A | NOT A |
---|---|
0 | 1 |
1 | 0 |
Aplicado bitwise en números binarios
1010
_____
0101
Por ejemplo, en la operación binaria NOT 1010
, el resultado sería 0101
, ya que todos los bits de entrada se invierten en el resultado.
Otras operaciones lógicas
Las operaciones anteriores son las fundamentales en un sistema lógico. Sin embargo existen otras, que en ocasiones encontraremos (aunque con menos frecuencia).
Operación NAND (NO Y)
La operación NAND es la negación de la operación AND. Es decir, devuelve falso si ambos operandos son verdaderos, y verdadero en todos los demás casos.
A | B | A NAND B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Equivale a:
Operación NOR (NO O)
La operación NOR es la negación de la operación OR. Devuelve verdadero si ambos operandos son falsos, y falso en todos los demás casos.
A | B | A NOR B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
Equivale a:
Operación XOR (O exclusivo)
La operación XOR, también conocida como “O exclusivo”, devuelve verdadero si exactamente uno de los operandos es verdadero, y falso si ambos son iguales.
A | B | A XOR B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Equivale a:
XNOR (NO O exclusivo)
La operación XNOR es la negación de XOR. Devuelve verdadero si ambos operandos son iguales, y falso si son diferentes.
A | B | A XNOR B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Equivale a: