Está en la página 1de 4

OPERADOR LOGICO C++

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

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 &&:

La tabla de verdad para el operador || es:

La tabla de verdad para el operador! es:

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 lógicos


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 lógicos 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:

1 if ( 14 > 10 || 14 > 11 ) //Si 14 es mayor a 10 O 14 es mayor a 11 entonces haga lo siguiente…


2
3 {
4
5 ........
6
7 }
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:

1 if ( 14 > 10 && 14 > 11 ) //Si 14 es mayor a 10 Y 14 es mayor 11 entonces haga lo siguiente


2
3 {
4
5 ........
6
7 }

Not !

Podemos decir que funciona de la siguiente manera:

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

1 if ( 14 != 10 ) //Si 14 NO es igual a 10 entonces haga lo siguiente


2
3 {
4
5 ........
6
7 }

También podría gustarte