jueves, 23 de febrero de 2012

Operadores lógicos

Los operadores lógicos son generalmente empleados con valores lógicos (booleanos); estos operadores devuelven un valor booleano. Sin embargo, los operadores && y || realmente devuelven el valor de uno de sus operandos, por esto si se emplean con valores no booleanos, podrían devolver un valor no booleano. Los operadores lógicos se describen en la siguiente tabla:
OperadorUsoDescripción
&&expr1 && expr2(AND lógico) Devuelve expr1 si la expresión puede convertirse a falso; de otro modo, devuelve expr2. Cuando se emplea con valores booleanos, && devuelve true cuando ambos operandos son verdaderos; si no, devuelve false.
||expr1 || expr2(OR lógico) Devuelve expr1 si puede convertirse a verdadero; de otro modo devuelve expr2. Cuando se emplea con valores booleanos, el operador || devuelve true si alguno de los operandos es verdadero; si ambos operandos son falsos devuelve false.
!!expr(NOT lógico) Devuelve falso si su único operando puede convertirse a verdadero; de otro modo, devuelve verdadero.

EJEMPLO 1:
int m[3] = {0,1,2};
int x = 0;
if (m && x) cout << "Cierto.";
else cout << "Falso.";
EJEMPLO 2:
#include <iostream.h>

bool alto = true, bajo = false, blanco = true, negro = false;

int main (void) {
  if (alto && bajo) { cout << "Uno cierto" << endl; }
  else cout << "Uno falso" << endl;
  if (alto && blanco) { cout << "Dos cierto" << endl; }
  else cout << "Dos falso" << endl;
  if (bajo && negro) { cout << "Tres cierto" << endl; }
  else cout << "Tres falso" << endl;

No hay comentarios:

Publicar un comentario