4. Operadores, Aritmética y Trampas Ocultas ⚙️
Aprende a calcular y comparar con precisión en C++: evita la trampa de la división entera y domina el módulo y la lógica booleana.
1. ⚠️ La Trampa Mayor: División Entera vs Decimal
En C++, el operador de división / se comporta según el tipo de sus operandos:
| Expresión | Resultado en C++ | ¿Por qué? |
|---|---|---|
| 7 / 2 | 3 | Entero entre entero: se descartan los decimales (truncado a cero). |
| 7.0 / 2 | 3.5 | Al haber un double (7.0), el cálculo se promueve a decimal. |
| 7 / 2.0 | 3.5 | Exactamente igual: basta con que un operando sea flotante. |
2. El Operador Módulo (%): Resto de la División
El operador % devuelve el residuo exacto tras una división de enteros:
3. Pre-incremento (++i) vs Post-incremento (i++)
Ambos suman 1 a la variable, pero difieren en el instante exacto en que devuelven el valor a la expresión:
Suma 1 primero, y luego devuelve el nuevo valor:
Entrega el valor actual primero, y luego suma 1:
4. Operadores Lógicos y Cortocircuito (Short-Circuit)
C++ optimiza las evaluaciones booleanas con cortocircuito:
&&(AND): Si el primer término esfalse, no evalúa el segundo.||(OR): Si el primer término estrue, no evalúa el segundo.!(NOT): Invierte el valor booleano.
Puedes evitar divisiones por cero en una sola línea gracias al cortocircuito:if (divisor != 0 && (total / divisor > 10)) { ... }Si divisor es 0, la segunda condición nunca se ejecuta, evitando el colapso del programa.
Ejercicio: Desglose de Monedas
Dado un monto en dinero entero (ej. 2750), calcula cuántos billetes de 1000 y cuántas monedas de 500 y 100 se necesitan usando división entera / y residuo %.
Ver solución
Comprueba lo que Has Aprendido 🧠
Valida tu comprensión de operadores aritméticos, módulo y lógica booleana.


