Calculadora de módulo
Calcula a mod n y el cociente para números enteros, decimales y enteros muy grandes. Los números negativos se tratan de tres formas (módulo matemático por defecto, % truncado como en C y JavaScript, y euclidiano) para que coincidas con tu clase de matemáticas o tu lenguaje de programación.
Última actualización:
Cómo usar Calculadora de módulo
- Introduce el número a que quieres reducir.
- Introduce el módulo n.
- Elige una convención de signo: por defecto para matemáticas y Python, truncada para C, Java y JavaScript, o euclidiana para obtener siempre un resultado positivo.
- Pulsa Calcular para ver el resultado, el cociente y el desarrollo.
Fórmula del módulo
Todas las convenciones escriben a = n × q + r y luego calculan r = a − n × q. Solo se diferencian en cómo se redondea el cociente q:
- Por defecto (floor): q = ⌊a ÷ n⌋. El residuo tiene el signo de n.
- Truncado: q = trunc(a ÷ n), redondeado hacia cero. El residuo tiene el signo de a.
- Euclidiano: q se elige de modo que 0 ≤ r < |n|. El residuo nunca es negativo.
| a, n | Por defecto | Truncado | Euclidiano |
|---|---|---|---|
| 17, 5 | 2 | 2 | 2 |
| −17, 5 | 3 | −2 | 3 |
| 17, −5 | −3 | 2 | 2 |
| −17, −5 | −2 | −2 | 3 |
| 5.5, 2 | 1.5 | 1.5 | 1.5 |
Qué regla usa cada lenguaje
| Lenguaje o herramienta | Expresión | Convención | −17 mod 5 |
|---|---|---|---|
| Python, Ruby | a % n | Por defecto | 3 |
| Excel, Google Sheets | MOD(a, n) | Por defecto | 3 |
| JavaScript, Java, C, C++, C#, Go | a % n | Truncado | −2 |
| Rust | a % n / a.rem_euclid(n) | Truncado / euclidiano | −2 / 3 |
| Python | math.fmod(a, n) | Truncado | −2.0 |
Preguntas frecuentes
¿Qué significa mod?
a mod n es el residuo de dividir a entre n. 17 mod 5 = 2 porque 17 = 5 × 3 + 2. Es la base de la aritmética del reloj: 50 horas después de medianoche, el reloj marca 50 mod 24 = 2.
¿Cuánto es −17 mod 5?
En matemáticas (por defecto o euclidiano) es 3, porque −17 = 5 × (−4) + 3. En C, Java y JavaScript, −17 % 5 da −2, porque redondean el cociente hacia cero (−3) y el residuo toma el signo del dividendo.
¿Por qué los lenguajes de programación dan resultados distintos con números negativos?
Definen el cociente de forma diferente. Python, Ruby y la función MOD de Excel redondean hacia abajo (por defecto), así que el resultado tiene el signo del divisor. El % de C, C++, Java, JavaScript, Go y Rust trunca hacia cero, así que el resultado tiene el signo del dividendo.
¿Cómo obtengo un módulo positivo en JavaScript o C?
Usa ((a % n) + n) % n. Para un n positivo, esto siempre da un resultado de 0 a n − 1, igual que las convenciones por defecto y euclidiana.
¿Se puede usar el módulo con decimales?
Sí. 5.5 mod 2 = 1.5 porque 5.5 = 2 × 2 + 1.5. Esta calculadora trabaja con dígitos decimales exactos, así que resultados como 0.3 mod 0.1 = 0 salen exactos en lugar de con un pequeño error de coma flotante.
¿Cuál es la diferencia entre módulo y residuo?
Con números positivos son lo mismo. Con negativos, "residuo" suele referirse al resultado truncado (signo del dividendo) y "módulo" al resultado por defecto o euclidiano (nunca negativo para un módulo positivo).
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.