Los operadores lógicos and
(&&
) y or
(||
) producen true
o
false
basándose en la relación lógica de
sus argumentos. Recuerde que en C y C++, una condición es cierta
si tiene un valor diferente de cero, y falsa si vale cero. Si se
imprime un bool
, por lo general verá un
1
' para true
y
0
para false
.
Este ejemplo utiliza los operadores relacionales y lógicos:
//: C03:Boolean.cpp // Relational and logical operators. #include <iostream> using namespace std; int main() { int i,j; cout << "Enter an integer: "; cin >> i; cout << "Enter another integer: "; cin >> j; cout << "i > j is " << (i > j) << endl; cout << "i < j is " << (i < j) << endl; cout << "i >= j is " << (i >= j) << endl; cout << "i <= j is " << (i <= j) << endl; cout << "i == j is " << (i == j) << endl; cout << "i != j is " << (i != j) << endl; cout << "i && j is " << (i && j) << endl; cout << "i || j is " << (i || j) << endl; cout << " (i < 10) && (j < 10) is " << ((i < 10) && (j < 10)) << endl; } ///:~
Listado 3.30. C03/Boolean.cpp
Se puede reemplazar la definición de int
con
float
o double
en el programa
anterior. De todos modos, dese cuenta de que la comparación de
un número en punto flotante con el valor cero es estricta; un
número que es la fracción más pequeña diferente de otro número
aún se considera «distinto de». Un número en punto
flotante que es poca mayor que cero se considera verdadero.