cpp-operadores-comparacion

Operadores de comparación en C++

Los operadores de comparación nos permiten comparar dos valores y determinar si son iguales, diferentes, mayores, menores o mayores/iguales y menores/iguales.

Los resultados de las comparaciones son valores booleanos (true o false), y son fundamentales para la lógica de control de flujo.

Los operadores de comparación en C++ son:

  • == (Igualdad): Devuelve verdadero si dos valores son iguales.
  • != (Desigualdad): Devuelve verdadero si dos valores no son iguales.
  • > (Mayor que): Devuelve verdadero si el valor de la izquierda es mayor que el valor de la derecha.
  • < (Menor que): Devuelve verdadero si el valor de la izquierda es menor que el valor de la derecha.
  • >= (Mayor o igual que): Devuelve verdadero si el valor de la izquierda es mayor o igual que el valor de la derecha.
  • <= (Menor o igual que): Devuelve verdadero si el valor de la izquierda es menor o igual que el valor de la derecha.

Estos operadores son fundamentales para la toma de decisiones en los programas y se utilizan comúnmente en las estructuras de control como los condicionales o los bucles.

Lista de Operadores de Comparación

Igualdad (==)

El operador de igualdad (==) se utiliza para verificar si dos valores son iguales. Compara dos valores y devuelve true si son iguales, o false en caso contrario.

Por ejemplo:

int a = 5;
int b = 5;
bool esIgual = (a == b); // true, ya que a y b son iguales

Desigualdad (!=)

El operador de desigualdad (!=) se utiliza para verificar si dos valores no son iguales. Compara dos valores y devuelve true si son diferentes, o false en caso contrario.

Por ejemplo:

int a = 5;
int b = 3;
bool noEsIgual = (a != b); // true, ya que a no es igual a b

Mayor que (>)

El operador mayor que (>) se utiliza para verificar si un valor es mayor que otro.

int a = 10;
int b = 5;
bool esMayor = (a > b); // true, ya que a es mayor que b

Menor que (<)

El operador menor que (<) se utiliza para verificar si un valor es menor que otro.

int a = 3;
int b = 7;
bool esMenor = (a < b); // true, ya que a es menor que b

Mayor o Igual que (>=)

El operador mayor o igual que (>=) se utiliza para verificar si un valor es mayor o igual que otro.

int a = 10;
int b = 10;
bool esMayorIgual = (a >= b); // true, ya que a es igual a b

Menor o Igual que (<=)

El operador menor o igual que (<=) se utiliza para verificar si un valor es menor o igual que otro.

int a = 5;
int b = 7;
bool esMenorIgual = (a <= b); // true, ya que a es menor que b

Ejemplos de Uso

Comparación de Variables

Los operadores de comparación se utilizan comúnmente en las estructuras de control para tomar decisiones basadas en las comparaciones entre variables.

int edad = 20;

if (edad >= 18) {
    std::cout << "Eres mayor de edad." << std::endl;
} else {
    std::cout << "Eres menor de edad." << std::endl;
}

Uso en Bucles

Los operadores de comparación también se utilizan en los bucles para controlar el número de iteraciones.

for (int i = 0; i < 10; ++i) {
    std::cout << "Número: " << i << std::endl;
}

Comparaciones Complejas

Es posible combinar varios operadores de comparación para crear condiciones más complejas.

int a = 5;
int b = 10;
int c = 5;

bool resultado = (a < b) && (a == c); // true, ya que a es menor que b y a es igual a c

Los operadores de comparación se utilizan para comparar dos valores y determinar si una afirmación es verdadera o falsa.

En C++, los resultados de estas comparaciones son valores booleanos, es decir, true o false.

Lista de Operadores de Comparación en C++

OperadorDescripcionEjemplo
==Igual ax == y
!=Diferente dex != y
>Mayor quex > y
<Menor quex < y
>=Mayor o igual quex >= y
<=Menor o igual quex <= y

Uso de los Operadores de Comparación

Igualdad y Desigualdad

Los operadores == y != se utilizan para comparar si dos valores son iguales o diferentes respectivamente. Aquí tienes un ejemplo:

int a = 5;
int b = 3;

bool igual = a == b;   // igual contendrá el valor false
bool diferente = a != b;  // diferente contendrá el valor true

Relaciones Numéricas

Los operadores <, >, <= y >= se utilizan para comparar relaciones numéricas entre valores. Por ejemplo:

int x = 10;
int y = 8;

bool menor = x < y;     // menor contendrá el valor false
bool mayor = x > y;     // mayor contendrá el valor true
bool menorIgual = x <= y;  // menorIgual contendrá el valor false
bool mayorIgual = x >= y;  // mayorIgual contendrá el valor true

Ejemplo de Uso

Supongamos que estás desarrollando un programa que verifica si un usuario es elegible para votar en base a su edad. Aquí tienes un ejemplo de cómo podrías usar los operadores de comparación en C++:

#include <iostream>
using namespace std;

int main() {
    int edadUsuario;

    cout << "Ingrese su edad: ";
    cin >> edadUsuario;

    if (edadUsuario >= 18) {
        cout << "¡Usted es elegible para votar!" << endl;
    } else {
        cout << "Usted no es elegible para votar." << endl;
    }

    return 0;
}

En este ejemplo, utilizamos el operador >= para comparar la edad ingresada por el usuario con el valor 18. Si la edad es mayor o igual a 18, el programa muestra un mensaje indicando que el usuario es elegible para votar; de lo contrario, muestra un mensaje que indica lo contrario.

Spaceship Operator <=> ⋆

C++20 provides the three-way comparison operator <=> , also called spaceship operator, which allows comparing two objects in a similar way of strcmp .

The operator returns an object that can be directly compared with a positive, 0, or negative integer value

(3 <=> 3) == 0; // true
(3 <=> 5) == 0; // false 
('a' <=> 'a') == 0; // true 

(3 <=> 5) > 0; // false
(3 <=> 5) < 0; // true

(7 <=> 5) > 0; // true
(7 <=> 5) < 0; // false