Saltar al contenido principal
CalcMax

Calculadora de módulo

Intervalo: -1.000.000.000 – 1.000.000.000

Intervalo: -1.000.000.000 – 1.000.000.000

Resultado

-47 ≡ 3 (mod 5)

Congruencia

Resto
3

El módulo de un número entero entre otro es el menor resto no negativo que queda al dividir el primero entre el segundo, y esta calculadora lo escribe como una congruencia: -47 ≡ 3 (mod 5). El resto es siempre mayor o igual que cero y estrictamente menor que el tamaño del módulo, sean cuales sean los signos de las dos entradas. Esa única regla es lo que hace que la aritmética modular funcione con números negativos. Si le pides a un lenguaje de programación el operador módulo de -47 entre 5, la respuesta depende del lenguaje: JavaScript, C, Java y Go devuelven -2, mientras que Python devuelve 3. Solo una de esas dos es el resto matemático, y es la que nunca sale negativa. La página toma dos números enteros entre menos mil millones y mil millones, e imprime tanto el resto como la ecuación que ata el dividendo, el resto y el módulo. No se le exige nada más a las entradas: el dividendo puede ser negativo, el módulo puede ser negativo y el dividendo puede ser menor que el módulo en valor absoluto. El único valor que se rechaza es un módulo de cero, porque ningún número es divisible por cero y por tanto módulo 0 no tiene respuesta que dar.

Cuatro combinaciones de signos, con la congruencia que produce cada una

DividendoMóduloRestoCongruencia
-4753-47 ≡ 3 (mod 5)
-121-1 ≡ 1 (mod 2)
475247 ≡ 2 (mod 5)
47-5247 ≡ 2 (mod -5)

Lee la primera y la tercera fila juntas: el dividendo es -47 en una y 47 en la otra, el módulo es 5 en las dos, y los restos son 3 y 2. Ese par es todo el sentido de la página. Bajo la convención que usan casi todas las calculadoras y los lenguajes de programación, la primera fila diría -2, y el hecho de que diga 3 es la diferencia entre un resto de división y un resto modular. Lee ahora la primera y la segunda fila: el dividendo sigue negativo mientras el módulo se reduce a la mitad, de 5 a 2, y el resto pasa de 3 a 1; reducir el módulo a la mitad no reduce el resto a la mitad, sino que vuelve a medir el mismo número contra un ciclo más corto. La cuarta fila tiene un módulo de -5 y responde 2, exactamente igual que la tercera fila con un módulo de 5, que es la insensibilidad al signo en una sola comparación. Comprueba cualquiera de las cuatro restando el resto al dividendo: el resultado es siempre un múltiplo entero del módulo, que es lo que afirma la congruencia.

Fórmula

-47 ÷ 5 = -9 con resto -2 (truncado); -2 + 5 = 3, así que -47 mod 5 = 3 y -47 ≡ 3 (mod 5)

a
El dividendo, el número que se reduce. Puede ser negativo, y ese es el caso que merece probarse: a mod n tiene que salir no negativo aunque a no lo sea, así que -47 tiene que aterrizar en 3 y no en -2. Se aceptan enteros de -1000000000 a 1000000000, y el 0 es un dividendo perfectamente válido cuyo resto es siempre 0
n
El módulo, el número entre el que se divide. También puede ser negativo, y el resto no cambia por ello: 47 mod -5 y 47 mod 5 son los dos 2, porque la afirmación «n divide a a - r» y la afirmación «-n divide a a - r» son dos maneras de decir lo mismo. El cero es el único valor que se rechaza, y la página imprime n tal como se escribió en lugar de sustituirlo por su valor absoluto
r
El resto, que es la respuesta. Es el menor número no negativo que se puede restar de a y dejar un múltiplo de n. Dos condiciones lo fijan por completo: r es mayor o igual que 0, y r es estrictamente menor que el tamaño de n. -47 mod 5 da 3 porque 3 es el menor valor no negativo para el que -47 - 3 = -50 es múltiplo de 5
((a mod n) + |n|) mod |n|
La receta en dos pasos que sigue la página, y la razón de que exista el segundo paso. El primer paso es lo que calculan casi todos los lenguajes y puede devolver una respuesta negativa; el segundo suma el tamaño del módulo y vuelve a reducir, lo que empuja el resultado al intervalo no negativo sin cambiar desde qué múltiplo de n se mide. Usar el tamaño de n y no n mismo es lo que permite que un módulo negativo pase sin alterarse
a ≡ r (mod n)
La congruencia, que es la primera línea del panel de resultados. Dice que n divide a a - r exactamente, y es la misma afirmación que el resto escrito solo, con el módulo y el dividendo nombrados al lado. El símbolo de triple barra y la palabra clave mod son notación y no palabras, así que se imprimen igual en todos los idiomas del sitio, y no se inserta ningún separador de millares en los números
-47 ≡ 3 (mod 5)
La entrada por defecto escrita del todo. Es el caso que separa esta página de una calculadora de restos de división: los mismos dos números dan -9 con resto -2 bajo la convención truncada que usa una calculadora de cuatro operaciones, y -47 ≡ 3 (mod 5) aquí. Escribir 47 en lugar de -47 da 2 en vez de 3, así que un solo signo menos mueve la respuesta un paso entero alrededor del ciclo

Acude a esta página siempre que la respuesta tenga que dar la vuelta en lugar de pararse. La aritmética del reloj es el ejemplo más antiguo: las 10 más 5 horas son las 3, que es 15 mod 12, y el hecho de que el resto nunca salga negativo es justo lo que mantiene legible una esfera de reloj. El trabajo con calendarios tiene la misma forma: el día 100 de un año, o el día de la semana en que cae una fecha, son un resto módulo 7. En programación, el operador módulo sirve para comprobar si un número divide a otro —a mod n vale 0 cuando n entra exactamente—, para plegar un índice de vuelta dentro de su rango en un búfer circular o en una tabla hash, para mantener un contador que da vueltas dentro de unos límites fijos y para ir eligiendo un elemento de una lista por turnos. La criptografía está construida sobre él: RSA y Diffie-Hellman son aritmética modular con números muy grandes, y la razón de que el resto se defina como no negativo es que una respuesta con signo sería una aritmética ambigua sobre la que construir. Los dígitos de control, desde los números de cuenta bancaria hasta los ISBN, son restos módulo 9, 10 u 11. Cuando la pregunta es en cambio cuántas veces cabe y qué sobra bajo la convención que usa tu calculadora, la página del resto de la división es mejor porque pone las dos convenciones una al lado de la otra; cuando la pregunta es qué tienen en común los dos números, la página del máximo común divisor responde a eso directamente.

Ejemplos resueltos

  1. La trampa del signo: -47 mod 5

    1. Dividimos como siempre y tiramos la fracción: -47 ÷ 5 = -9,4, así que el cociente truncado es -9
    2. -9 × 5 = -45, y -47 - (-45) = -2, así que el resto truncado es -2
    3. El resto tiene que ser mayor o igual que 0, así que sumamos el tamaño del módulo: -2 + 5 = 3
    4. Comprobamos que el resultado cae en el intervalo: 0 ≤ 3 < 5, así que no hace falta ningún ajuste más
    5. Leemos la congruencia: -47 ≡ 3 (mod 5), que significa que 5 divide a -47 - 3 = -50 exactamente

    La entrada por defecto, y la que explica por qué existe esta página. Una calculadora de cuatro operaciones, y casi todos los lenguajes de programación, informarán de -9 con resto -2 para esta división; esa respuesta no está mal, está respondiendo a una pregunta formulada de otra manera. El resto aquí es 3 porque 3 es el menor valor no negativo que deja un múltiplo de 5. Fíjate en que 47 mod 5 es 2, no -3 ni 3: mover el dividendo un paso entero alrededor del ciclo mueve el resto uno, y los dos restos se diferencian exactamente en 1 y no en 5.

  2. Un módulo negativo: 47 mod -5

    1. 47 ÷ 5 = 9,4, así que el 5 cabe nueve veces y 9 × 5 = 45
    2. 47 - 45 = 2, que ya cae en el intervalo 0 ≤ 2 < 5
    3. El módulo es negativo, pero la divisibilidad no entiende de signos: -5 divide a 45 exactamente, así que también divide a 47 - 2 exactamente
    4. La congruencia se escribe con el módulo tal como se introdujo: 47 ≡ 2 (mod -5)

    El caso que muestra que el resto es insensible al signo del módulo. Cambiar -5 por 5 no cambia nada de la respuesta, porque -5 divide exactamente a un número cuando 5 también lo hace. La página conserva el signo menos en la congruencia impresa en lugar de quitarlo en silencio, porque reescribir un -5 como 5 parecería que la entrada se ha descartado. Compara en la tabla de abajo las dos filas que comparten el divisor -5 con las que comparten 5: solo el signo del dividendo mueve alguna vez el resto.

  3. Una división con resto: 1234 mod 12

    1. 12 × 100 = 1200, y 1234 - 1200 = 34, así que seguimos: 12 × 2 = 24 deja 34 - 24 = 10
    2. 12 × 3 = 36 se pasaría de 34, así que el cociente es 102 y lo que sobra es 10
    3. 10 es mayor o igual que 0 y menor que 12, así que ya es el resto
    4. Léelo como congruencia: 1234 ≡ 10 (mod 12)

    El caso llano con dos números positivos, donde el resto y un resto de división ordinario coinciden, que es justo el motivo de incluirlo: cuando los dos números son positivos no hay nada que reconciliar y la página hace el mismo trabajo que cualquier herramienta de restos. Las filas interesantes son las que llevan un signo menos. Este par tiene además una segunda lectura que merece la pena ver: 1234 mod 12 es como preguntarías en qué hora aterriza una duración cuando la esfera del reloj tiene doce horas, y 10 es una hora perfectamente sensata mientras que -2 no lo habría sido.

Limitaciones

El módulo no puede ser cero. Dividir entre cero no tiene respuesta, así que no hay resto que informar ni, menos aún, uno mínimo no negativo; la página rechaza la entrada en lugar de devolver un valor de relleno que parezca un resultado. Los dos números tienen que ser enteros. Un módulo fraccionario tiene su propia definición en algunas ramas de las matemáticas, pero no es la que implementa esta página, así que 47,5 se rechaza en lugar de redondearse en silencio a 48 y responderse como si eso fuera lo que has preguntado. El valor absoluto de cada número está limitado a mil millones, lo que mantiene todos los pasos intermedios dentro del rango en el que un número en doble precisión todavía representa enteros exactamente; más allá, la aritmética empezaría a redondear y la respuesta parecería perfectamente normal siendo falsa. La página informa de un resto y de una congruencia y nada más: no da el cociente, no lista los demás números congruentes con tu dividendo y no hace aritmética modular con más de un par a la vez. Un módulo negativo se acepta y se imprime tal como se introdujo, lo que significa que dos congruencias que dicen lo mismo pueden verse distintas en la página: 47 ≡ 2 (mod -5) y 47 ≡ 2 (mod 5) son la misma afirmación. Por último, la tabla de abajo muestra cuatro pares fijos y no sigue tus entradas; el panel de resultados es la parte que responde a lo que hayas escrito.

Preguntas frecuentes

¿Por qué -47 mod 5 es 3 y no -2?
Porque el resto se define como el menor número no negativo que se puede restar al dividendo y dejar un múltiplo del módulo. Tanto -2 como 3 cumplen en el sentido de que -47 - (-2) = -45 y -47 - 3 = -50 son múltiplos de 5, así que la aritmética por sí sola no elige entre ellos. La definición sí: el resto vive en el intervalo desde 0 hasta el módulo sin incluirlo, y -2 está fuera de él. Todo lo demás se sigue de ahí. Lo que te devuelve un lenguaje de programación depende de qué convención eligió, y JavaScript, C, Java y Go eligieron la otra: dejan que el signo siga al dividendo. Python eligió esta. Ninguno de los dos lenguajes está roto, responden a preguntas formuladas de distinta manera.
¿El módulo puede ser negativo?
Sí, y el resto no se ve afectado por su signo. Un módulo negativo funciona porque la divisibilidad ignora los signos: -5 divide exactamente a un número cuando 5 también lo hace, así que el conjunto de los múltiplos de -5 es el mismo que el de los múltiplos de 5, y el menor número no negativo de ese conjunto es el mismo en los dos casos. La página imprime el módulo exactamente como se introdujo en lugar de sustituir -5 por 5, porque reescribir tu entrada parecería que se ha perdido el signo. Así que 47 mod -5 es 2 y 47 mod 5 también es 2, y las dos congruencias impresas solo se diferencian en que una muestra un signo menos.
¿Qué pasa si introduzco 0 como módulo?
La página lo rechaza. Módulo 0 no tiene valor que informar: el cero solo divide al cero, así que no hay ningún múltiplo entero de 0 contra el que medir el dividendo ni resto que tomar. Devolver 0, o el propio dividendo, parecería una respuesta y estaría mal para cualquier entrada. Rechazar la entrada es el desenlace honesto. Dividir entre cero está indefinido en el resto de la aritmética por la misma razón.
¿Es lo mismo que la calculadora de resto de división de este sitio?
No, y las dos dan respuestas distintas a la misma operación, que es la manera más clara de ver la diferencia. La página del resto despliega dos convenciones una al lado de la otra y te deja elegir, porque la división larga tiene de verdad dos en circulación y una clase puede enseñar cualquiera de ellas. Esta página no ofrece elección, porque el módulo solo tiene una lectura: la respuesta nunca es negativa. Para -47 dividido entre 5, la página del resto mostrará -9 con resto -2 bajo su convención por defecto, mientras que esta muestra la congruencia -47 ≡ 3 (mod 5). Usa aquella para ver en qué se diferencian las dos convenciones sobre un par de números concreto; usa esta cuando lo que quieres es el resto modular mismo.
¿Dónde se usa de verdad un resto modular?
Allí donde un recuento tiene que dar la vuelta en lugar de seguir creciendo. La esfera de un reloj es el caso de cada día: doce horas en la esfera significa que la hora que sigue a las 10 más 5 horas es 15 mod 12, que es 3. Los días de la semana funcionan igual módulo 7. En programación, el operador módulo comprueba la divisibilidad, porque a mod n vale 0 exactamente cuando n entra en a sin resto; pliega un índice de vuelta a su rango en un búfer circular o en una tabla hash, donde un índice que se ha salido por el final tiene que volver al principio; y mantiene un contador que da vueltas dentro de unos límites fijos. La criptografía de clave pública es aritmética modular con números muy grandes, y por eso importa la convención no negativa: una aritmética que produjera resultados con signo sería ambigua sobre la que construir.
¿Por qué se muestra solo la congruencia y no el cociente?
Porque el cociente no forma parte de lo que afirma un resto. Una congruencia nombra el dividendo, el resto y el módulo, y lo que afirma es que el módulo divide a la diferencia de los dos primeros. Esa afirmación está completa sin cociente, ya que el cociente es el número que sale al preguntar cuántas veces enteras cabe el módulo, y esa pregunta pertenece a la división larga. Si quieres el cociente al lado, tanto la calculadora de resto de división como la de división larga lo informan. El resto solo también se imprime, en la segunda línea del panel de resultados, así que quien solo quiera el número no tiene que leerlo dentro de la frase.

Referencias

Calculadoras relacionadas