Operador módulo
Parte de la sección Fundamentos del Journey de C++ de Coddy. Lección 17 de 74.
El operador módulo % devuelve el resto de una división. En C++, se utiliza con una sintaxis sencilla:
result = dividend % divisor;- dividendo: El número que se divide.
- divisor: El número que divide al dividendo.
- resultado: El resto de la división.
Por ejemplo:
result = 10 % 3;Aquí, 10 se divide entre 3. El 3 cabe tres veces en 10, con un resto de 1. Así que result será 1.
Por lo general, el módulo se usa para comprobar si un número es par o impar:
- Si un número es par, al dividirlo entre 2, el resto será 0.
- Si un número es impar, al dividirlo entre 2, el resto será 1, o -1 si el número es negativo.
Al trabajar con números de punto flotante (de doble precisión) en C++, no puedes usar directamente el operador módulo %. En su lugar, debes usar la función fmod() de la biblioteca <cmath>. Funciona de forma similar al operador módulo, pero conserva la precisión decimal. Por ejemplo:
#include <cmath>
double result = fmod(5.2, 2.0);
// result es 1.2Así es como funciona: 2.0 cabe dos veces en 5.2 (4.0), y el resto es 1.2 (5.2 - 4.0 = 1.2).
Otro ejemplo:
double result = fmod(7.8, 3.5);
// result es 0.8Cuando el divisor es mayor que el dividendo, el resultado es igual al dividendo. Esto se aplica tanto a % como a fmod().
5 % 10 = 5
3 % 7 = 3
fmod(2.5, 8.0) = 2.5¿Por qué? El divisor cabe cero veces, así que todo el dividendo es el resto.
Desafío
PrincipianteEscribe un código que inicialice tres variables, a (int), b (double) y c (int) con los valores 9, 2.6 y 11 (respectivamente).
Después, inicializa las siguientes variables:
d (int), que contendrá el resultado deamódulo2e (int), que contendrá el resultado deamódulo3f (double), que contendrá el resultado debmódulo1.5g (double), que contendrá el resultado debmódulo3.9h (int), que contendrá el resultado decmódulo10
Comprueba el resultado y observa cómo afectan al resultado los distintos dividendos y divisores.
Pruébalo tú mismo
#include <iostream>
#include <cmath>
int main() {
// Escribe tu código a continuación
// No cambies la línea de abajo
std::cout << "a = " << a << std::endl;
std::cout << "b = " << b << std::endl;
std::cout << "c = " << c << std::endl;
std::cout << "d = " << d << std::endl;
std::cout << "e = " << e << std::endl;
std::cout << "f = " << f << std::endl;
std::cout << "g = " << g << std::endl;
std::cout << "h = " << h << std::endl;
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidadosPractica por tu cuenta: Compilador de C++ online