Operadores lógicos en C++

Los operadores lógicos en C++ son los siguientes:

captura-de-pantalla-2016-10-20-a-las-22-05-20

El operador “&&” equivale al “AND” o “Y”; devuelve true sólo si los dos operandos true o lo que es equivalente, distintas de cero. En cualquier otro caso el resultado es false.

El operador “||” equivale al “OR” u “O inclusivo”; devuelve true si cualquiera de las expresiones evaluadas es true, o distinta de cero, en caso contrario devuelve false.

El operador “!” es equivalente al “NOT”, o “NO”, y devuelve true cuando la expresión evaluada es false o cero, en caso contrario devuelve false.

Tablas de verdad para operadores lógicos en C++

Una tabla de verdad es una relación de todos los posibles valores para los operandos que intervienen en una operación, y los resultados para cada caso.

En el caso de operadores lógicos podemos mostrar fácilmente tablas de verdad, ya que el dominio para cada operando es muy reducido: true o false.

Si además tenemos en cuenta la regla del cortocircuito, los casos posibles se reducen todavía más.

A continuación se muestra la tabla de verdad del operador &&:

captura-de-pantalla-2016-10-20-a-las-22-26-52

La tabla de verdad para el operador || es:

captura-de-pantalla-2016-10-20-a-las-22-27-04

La tabla de verdad para el operador ! es:

captura-de-pantalla-2016-10-20-a-las-22-27-15

El operador de negación lógico (!) invierte el significado del operando. El operando debe ser de tipo aritmético o de puntero (o una expresión que se evalúe como un tipo aritmético o de puntero). El operando se convierte implícitamente al tipo bool .

El resultado es true si el operando convertido es false; el resultado es false si el operando convertido es true. El resultado es de tipo bool.

Prioridad de operadores logicos

La prioridad de los operadores especifica el orden en que se realizan las operaciones en las expresiones que contienen más de un operador. La asociatividad de los operadores especifica si, en una expresión que contiene varios operadores con la misma prioridad, un operando se agrupa con el de su izquierda o con el de su derecha.

Los operadores que tienen el mismo número de prioridad tienen la misma prioridad, a menos que se fuerce otra relación explícitamente mediante paréntesis.

En este caso los operadores logicos se encuentran de la siguiente manera:

Grupo 3 precedente, izquierda a derecha asociativo

NOT !

Grupo 13 precedente, izquierda a derecha asociativo

AND &&

Grupo 14 precedente, izquierda a derecha asociativo

OR ||

Ejemplos:

Or ||

Podemos decir en lenguaje humano, que funciona de la siguiente manera:

Si 14 es mayor a 10 O 14 es mayor 11 entonces haga lo siguiente…

Ahora en lenguaje de codigo, seria de la siguiente manera:

 

 

And &&

Funciona de la siguiente manera:

Si 14 es mayor a 10 Y 14 es mayor 11 entonces haga lo siguiente…

En codigo, seria de la siguiente manera:

 

 

Not !

Podemos decir que funciona de la siguiente manera:

Si 14 NO es igual a 10 entonces haga lo siguiente…

 

 

Bilbiografia e imagenes tomadas:

Bronson Gary J. . (2007). C++ para ingenieria y ciencias. E.U.A.: Cengage.

Ihttp://c.conclase.net/curso/?cap=004c

About Strada

Estudiante de Ingenieria quimica, gamer desde 1997 y musico frustrado