Operadores lógicos
Los operadores lógicos en C++ se utilizan para combinar dos o más expresiones booleanas en una sola expresión booleana más compleja. Estos operadores devuelven un valor booleano (true o false) que indica el resultado de la combinación de las expresiones.
Operadores lógicos:
- Y lógico (
&&): Se utiliza para combinar dos expresiones booleanas. El resultado estruesolo si ambas expresiones sontrue. - O lógico (
||): Se utiliza para combinar dos expresiones booleanas. El resultado estruesi al menos una de las expresiones estrue. - No lógico (
!): Se utiliza para negar una expresión booleana. El resultado estruesi la expresión original esfalse, yfalsesi la expresión original estrue.
Ejemplo de uso:
bool esMayorDeEdad = edad >= 18;
bool tieneID = true;
bool puedeEntrar = esMayorDeEdad && tieneID; // puedeEntrar = true
bool esEstudiante = esEstudiante || tieneBeca; // esEstudiante = true (o true o false)
bool noEsVerdad = !esVerdadero; // noEsVerdad = true (si esVerdadero es false)
Precedencia de operadores:
En C++, la precedencia de los operadores lógicos es la siguiente, de mayor a menor precedencia:
- Negación (
!) - And lógico (
&&) - Or lógico (
||)
Esto significa que las operaciones de negación se evalúan antes que las operaciones and y or, y las operaciones and se evalúan antes que las operaciones or.
Asociatividad:
Los operadores lógicos (&& y ||) son asociativos de izquierda a derecha. Esto significa que las operaciones se evalúan de izquierda a derecha.
Ejemplo:
En la siguiente expresión:
a > 0 && b < 10 || c == 5
Se evaluará primero la negación (!), luego las conjunciones (&&) y finalmente las disyunciones (||), siguiendo este orden:
a > 0b < 10a > 0 && b < 10c == 5a > 0 && b < 10 || c == 5
Paréntesis:
Si se necesita cambiar el orden de evaluación, se pueden utilizar paréntesis. Los paréntesis siempre tienen la máxima precedencia, por lo que las operaciones dentro de ellos se evaluarán primero.
Ejemplo:
En la siguiente expresión:
(a > 0 && b < 10) || c == 5
Se evaluará primero la expresión entre paréntesis:
a > 0 && b < 10(a > 0 && b < 10) || c == 5
Comentarios
Publicar un comentario