Skip to main content
🔬 Advanced ✨ New

Modulo Calculator

Calcula el residuo de una operación de división. Encuentra a mod b al instante con explicación paso a paso. Herramienta matemática gratis con resultados precisos.

¿Qué es la operación Modulo?

La operación modulo (mod, o %) devuelve el resto después de dividir un número por otro. Para un mod b: divide a por b, y el resultado es el resto. Por ejemplo, 17 mod 5 = 2 (porque 17 = 3×5 + 2). El resultado siempre está en el rango [0, b-1] para valores positivos.

La relación fundamental: a = q×b + r, donde q es el cociente (piso(a/b)) y r es el resto (0 ≤ r < b). El modulo es la operación complementaria de la división entera — si a ÷ b = q con resto r, entonces a mod b = r. Este calculadora utiliza la definición matemática de modulo verdadera (siempre no negativo para divisor positivo), en lugar del resto firmado utilizado por algunos lenguajes de programación.

La aritmética modular — la aritmética con un módulo fijo donde los números "se envuelven" — forma la base de la aritmética de reloj. Las horas en un reloj se calculan mod 12 o mod 24. Si es las 10 AM y sumas 5 horas: (10 + 5) mod 12 = 3 (PM). Este comportamiento de envoltura es central en innumerables algoritmos en ciencia de la computación, criptografía y teoría de números.

Ejemplos y soluciones paso a paso de Modulo

Entender el módulo se vuelve intuitivo con ejemplos trabajados. Para cada cálculo a continuación, la fórmula es: resto = a - piso(a ÷ b) × b.

ExpresiónCociente (piso)Resto (a mod b)Verificación
17 mod 5323×5 + 2 = 17 ✓
20 mod 4505×4 + 0 = 20 ✓
7 mod 3212×3 + 1 = 7 ✓
100 mod 714214×7 + 2 = 100 ✓
13 mod 13101×13 + 0 = 13 ✓
1 mod 5010×5 + 1 = 1 ✓
256 mod 1616016×16 + 0 = 256 ✓
365 mod 752152×7 + 1 = 365 ✓

Nota 365 mod 7 = 1: esto nos dice que un año no bisiesto tiene 52 semanas completas más 1 día extra, por lo que el día de la semana cambia en 1 cada año no bisiesto. Un año bisiesto (366 días) mod 7 = 2, cambiando el día en 2.

Aplicaciones de la Aritmética Modular

El módulo aparece en todo el programación y la matemática. Verificación de par y impar: si n % 2 == 0, n es par. Arreglos circulares y buffers de anillo: índice = (índice actual + 1) % tamaño del arreglo envuelve alrededor al inicio. Tablas de hash: búcket = hash(clave) % número de búcket mapea cualquier valor de hash a un índice de búcket válido, evitando acceso fuera de límites.

En calculaciones de calendario, la aritmética del día de la semana utiliza mod 7. La fórmula de Zeller y el algoritmo Doomsday ambos dependen de la aritmética modular para determinar el día de la semana para cualquier fecha. Estos funcionan porque hay exactamente 7 días en una semana — un módulo fijo. Los desplazamientos de zona horaria utilizan mod 24 para envolver los valores de hora correctamente a través de los límites de medianoche.

En sistemas digitales, el módulo se utiliza en todas las direcciones de memoria involucradas. Las entradas de tabla de páginas, la selección de conjunto de caché y la entrada/salida mapeada a memoria todas dependen de la indexación modular. Los conjuntos de instrucciones de CPU suelen incluir una instrucción de resto (similar a módulo) junto con la división, y las instrucciones de vector SIMD utilizan módulo para envolver en reorganizaciones de pista.

En detección de errores, los controles de redundancia cíclicos (CRC) y las sumas de comprobación se calculan utilizando la aritmética modular polinómica sobre GF(2). Los números de tarjeta de crédito pasan el algoritmo de Luhn (una comprobación mod 10). Los números ISBN-10 de libros utilizan mod 11. Estas sumas de comprobación capturan errores de transposición y errores de un solo dígito en códigos numéricos.

Módulo en Criptografía

La aritmética modular es la base matemática de la criptografía de clave pública moderna. Los tres algoritmos criptográficos más importantes — RSA, Diffie-Hellman y Criptografía de Curvas Elípticas — todos dependen de operaciones realizadas módulo un número primo grande o compuesto.

Cifrado RSA utiliza la potenciación modular: para cifrar un mensaje M con la clave pública (e, n), compute C = M^e mod n. Para descifrar, compute M = C^d mod n donde d es la clave privada. La seguridad depende de la dificultad de factorizar n (un semiprimo grande) — sabiendo solo n, recuperar p y q es computacionalmente inaccesible para tamaños de clave por encima de 2048 bits.

Intercambio de clave Diffie-Hellman permite a dos partes establecer un secreto compartido a través de un canal inseguro: Alice envía A = g^a mod p, Bob envía B = g^b mod p. Cada parte calcula el secreto compartido: Alice calcula B^a mod p = g^(ab) mod p, Bob calcula A^b mod p = g^(ab) mod p. Un interceptador que intercepta g^a mod p y g^b mod p no puede recuperar g^(ab) mod p sin resolver el problema del logaritmo discreto.

La seguridad de estos sistemas depende de la naturaleza unidireccional de la potenciación modular: calcular g^a mod p es rápido (utilizando cuadrado repetido, O(log a) multiplicaciones), pero revertirlo — encontrar un dado g^a mod p — se cree que requiere tiempo exponencial para grandes primos p.

Módulo con Números Negativos y Casos de Borde

El comportamiento del módulo con números negativos varía por lenguaje de programación, lo que causa muchos errores difíciles de encontrar. Entender la diferencia es crucial para los desarrolladores de software.

Lenguaje-7 % 37 % -3Definición
Python2-2El signo sigue al divisor (módulo verdadero)
JavaScript-11El signo sigue al dividendo (resto)
C / C++-11El signo sigue al dividendo (C99+)
Java-11El signo sigue al dividendo
Ruby2-2El signo sigue al divisor (módulo verdadero)
Math (definición)21 (o indefinido)Siempre devuelve un resultado no negativo para divisor positivo

En matemáticas, el módulo siempre devuelve un resultado no negativo: -7 mod 3 = 2 (ya que -7 = -3×3 + 2, y 0 ≤ 2 < 3). Este calculadora utiliza la definición matemática.

La forma segura de asegurar un resultado no negativo en cualquier lenguaje: ((a % b) + b) % b. Esto maneja entradas negativas correctamente y se utiliza internamente por nuestra calculadora. Este patrón es esencial cuando se utiliza el módulo para la indexación de matrices o las calculaciones de días del calendario donde los resultados negativos causarían errores.

Casos de borde a recordar: (1) Cualquier número mod 1 = 0 — dividir por 1 deja ningún resto. (2) Cualquier número mod sí mismo = 0. (3) 0 mod cualquier número no cero = 0. (4) La división (y el módulo) por cero es indefinida — siempre valide el divisor antes de calcular el módulo. Nuestra calculadora muestra un mensaje de error claro para el módulo por cero.

Pruebas de Módulo y Divisibilidad

Uno de los usos más prácticos del módulo es la prueba de divisibilidad sin realizar la división completa. Un número a es divisible por b si y sólo si a mod b = 0. Esto permite pruebas de divisibilidad rápidas:

Divisibilidad porPrueba Ejemplo
2n mod 2 = 0 (último dígito par)128 mod 2 = 0 ✓
3Suma de dígitos mod 3 = 0123: 1+2+3=6, 6 mod 3 = 0 ✓
4Últimos dos dígitos mod 4 = 0312: 12 mod 4 = 0 ✓
5Último dígito es 0 o 5735 mod 5 = 0 ✓
9Suma de dígitos mod 9 = 0369: 3+6+9=18, 18 mod 9 = 0 ✓
10n mod 10 = 0 (último dígito es 0)500 mod 10 = 0 ✓

Estas reglas de divisibilidad son atajos derivados de las propiedades de la aritmética modular. Las reglas de suma de dígitos para 3 y 9 funcionan porque 10 ≡ 1 (mod 3) y 10 ≡ 1 (mod 9), lo que significa que el valor posicional de cada dígito es irrelevante para la divisibilidad por 3 o 9. Estas se enseñan en la escuela primaria sin el contexto de la aritmética modular, pero la mecánica subyacente es módulo.

Exponentiación Modular: Potencia Rápida Mod

Calcular a^b mod n directamente, primero calculando a^b y luego tomando módulo n, es impráctico para exponentes grandes — a^100 puede tener miles de dígitos. La exponentiación modular utiliza la identidad (a×b) mod n = ((a mod n) × (b mod n)) mod n para mantener los resultados intermedios pequeños.

El algoritmo rápido utiliza la potenciación repetida (exponentiación binaria):

Esto reduce el número de multiplicaciones de b a O(log₂ b). Para b = 2048-bit RSA exponents (~10^600), esto es la diferencia entre miles de millones de multiplicaciones y solo ~2000. Sin esta optimización, la cifrado RSA sería completamente impráctico.

Preguntas Frecuentes

¿Qué es 15 mod 4?

15 mod 4 = 3. Porque 15 = 3×4 + 3, el resto es 3. Verificar: 3×4 = 12, y 15 − 12 = 3. ✓

¿Qué significa mod 0?

Modulo por cero es indefinido, al igual que la división por cero. No se puede calcular un mod 0. Nuestro calculadora devuelve un mensaje de error en este caso. Cualquier operación basada en división requiere un divisor no cero.

¿Cómo se relaciona el módulo con la divisibilidad?

Un número a es divisible por b si y solo si a mod b = 0. Por ejemplo, 24 mod 6 = 0, por lo que 24 es divisible por 6. 25 mod 6 = 1, por lo que 25 no es divisible por 6. Esto hace que el módulo sea la herramienta fundamental para la prueba de divisibilidad en la ciencia de la computación.

¿Cuál es la diferencia entre mod y resto?

Para números positivos, mod y resto son idénticos. Para números negativos, difieren: el módulo matemático siempre devuelve un resultado no negativo (el signo sigue el divisor), mientras que el resto toma el signo del dividendo. Por ejemplo, -7 mod 3 = 2 (matemáticas), pero -7 resto 3 = -1 (como en C, Java, JavaScript).

¿Qué es 10 mod 3?

10 mod 3 = 1. Porque 10 = 3×3 + 1, el resto es 1. Puedes verificar: 3×3 = 9, y 10 − 9 = 1. Esto significa que 10 deja un resto de 1 cuando se divide por 3, por lo que 10 no es divisible por 3.

¿Qué es 0 mod 5?

0 mod 5 = 0. Cero dividido por cualquier número no cero da cociente 0 y resto 0. En general, 0 mod n = 0 para cualquier n ≠ 0. Esto es consistente con la definición: 0 = 0×5 + 0.

¿Cómo se utiliza el módulo en la programación?

Usos comunes incluyen: verificar si un número es par o impar (n%2==0), hacer que los índices de arreglos se vuelvan (índice%longitud), implementar búferes de anillo, distribuir elementos en contenedores de hash (hash%tamaño), rotar a través de estados en una máquina de estados, y asegurar que los eventos periódicos se disparan en cada nésima iteración (contador%n==0).

¿Qué es la aritmética de reloj?

La aritmética de reloj es la aritmética modular cotidiana. Un reloj de 12 horas utiliza mod 12: 11 horas + 3 horas = (11+3) mod 12 = 2 horas. Este comportamiento de envoltura es precisamente la aritmética modular. De manera similar, los días de la semana utilizan mod 7, y el tiempo militar utiliza mod 24 para las horas.

¿Por qué es importante el módulo en la criptografía?

La aritmética modular hace posible las funciones de un solo sentido. Calcular g^a mod p (dado g, a, p) es rápido, pero encontrar a dado g^a mod p y p (el problema del logaritmo discreto) es computacionalmente inaccesible para grandes primos. Esta asimetría subyace en el intercambio de claves de Diffie-Hellman, RSA y la mayoría de la criptografía de clave pública que protege las comunicaciones de Internet.

¿Cuál es el resultado de cualquier número mod 1?

Cualquier número entero mod 1 = 0. Dividir por 1 siempre deja sin resto — cada número entero es perfectamente divisible por 1. Esto es matemáticamente consistente: a = a×1 + 0, por lo que el resto siempre es 0. Este caso de borde es importante manejar en implementaciones de aritmética modular.

Módulo en la vida cotidiana: Ejemplos prácticos

La aritmética modular aparece mucho más a menudo en la vida diaria de lo que la mayoría de las personas se dan cuenta. El momento en que lees un reloj, calculas cuándo un evento semanal se repite, verificas si un número es divisible por 9, o miras el último dígito de un año para determinar qué día de la semana cae una aniversario, estás haciendo aritmética modular — incluso si no la utilizas con ese nombre.

Programación y recurrencia: Si un evento ocurre cada 7 días y hoy es martes (día 2, indexado a cero desde domingo=0), entonces 30 días después es (2+30) mod 7 = 32 mod 7 = 4, que es jueves. Esta cálculo directo es más rápido que contar semanas y días por separado. De manera similar, si una suscripción se renueva el 28 de cada mes y actualmente es el 15, los días hasta la renovación es (28−15) mod 31 = 13 días.

Dígito de verificación digital: El estándar de código de barras ISBN-13 utiliza el módulo 10. El último dígito de cualquier ISBN-13 se elige de manera que la suma ponderada de todos los 13 dígitos sea divisible por 10. Si se introduce un solo dígito incorrecto al ingresar el ISBN de un libro, la verificación fallará (mod 10 ≠ 0) y se mostrará un error. Los números de tarjeta de crédito utilizan el algoritmo Luhn — una verificación mod-10 — con el mismo propósito. El estándar ISBN-10 utiliza el módulo 11, lo que permite la detección de transposiciones simples.

Memoria y direcciones del ordenador: La memoria RAM se dirige a menudo en potencias de 2 (1024, 2048, 4096 bytes por página). Cuando un programa accede a la memoria, el sistema operativo utiliza el módulo para calcular qué página de memoria corresponde a una dirección: página_numero = dirección mod tamaño de página. La selección de línea de caché en las cachés del procesador utiliza el módulo de manera similar. El reciclaje de búfer en el procesamiento de audio, la cola de paquetes de red y la transmisión de video utilizan la aritmética circular: posición de escritura = (posición de escritura + 1) % tamaño de búfer.

Patrones artísticos y musicales: Los patrones rítmicos en la teoría musical se analizan utilizando la aritmética modular. Un compás de 4/4 tiene compases 0, 1, 2, 3 repitiéndose — un ciclo mod-4. Los polirritmos ocurren cuando dos ritmos independientes con períodos m y n se reproducen simultáneamente; se sincronizan cada lcm(m,n) compases. Los patrones visuales como las teselaciones de baldosas se repiten con períodos modulares en dos dimensiones.

Cálculos geográficos y de zona horaria: Los desplazamientos horarios UTC van desde −12 a +14. La conversión entre zonas horarias: dado el tiempo T en UTC, hora local = (T + desplazamiento) mod 24. El valor resultante puede parecer ininteligible (por ejemplo, 23 + 5 = 28, mod 24 = 4, lo que significa las 4:00 AM del día siguiente), pero la operación mod maneja la frontera de medianoche correctamente. Los cruces de la línea internacional de fechas utilizan el módulo 24 en combinación con los cálculos del día de la semana utilizando el módulo 7.

Comprender el módulo hace que estos cálculos cotidianos sean más claros, más rápidos y menos propensos a errores. Una vez que veas el patrón, notarás la aritmética modular en las optimizaciones del compilador, los algoritmos de rotación en los juegos de video, la programación de torneos de eliminación y el equilibrio de carga en clústeres de servidores — todos ellos basados en el simple pero poderoso concepto de resto después de la división.