3
2
—
—
—
3
2
—
—
—
The Modular Arithmetic Calculator performs addition, subtraction, multiplication, and exponentiation within a modular number system. Modular arithmetic — sometimes called "clock arithmetic" — restricts numbers to a finite set of residues $$\{0, 1, 2, \ldots, m-1\}$$ under a modulus $$m$$. The fundamental operation is $$a \bmod m$$, which returns the remainder when $$a$$ is divided by $$m$$.
Carl Friedrich Gauss formalized modular arithmetic in his landmark 1801 work Disquisitiones Arithmeticae, introducing the congruence notation $$a \equiv b \pmod{m}$$, meaning $$m$$ divides $$(a - b)$$. This elegant framework unified disparate results about divisibility and remainders into a coherent algebraic system. Today modular arithmetic pervades number theory, cryptography, computer science, and digital signal processing.
The key algebraic properties that make modular arithmetic powerful are closure and compatibility with standard operations. For any integers $$a$$ and $$b$$ with modulus $$m$$: $$(a + b) \bmod m = ((a \bmod m) + (b \bmod m)) \bmod m$$ and similarly for subtraction and multiplication. This means we can reduce operands before computing, keeping intermediate values small — a critical advantage in cryptographic computations involving enormous numbers.
Modular exponentiation $$a^b \bmod m$$ is the backbone of public-key cryptography. The RSA algorithm relies on the computational asymmetry: computing $$a^b \bmod m$$ is efficient via repeated squaring, but reversing the operation (the discrete logarithm problem) is computationally infeasible for large numbers. This calculator computes modular powers directly for small values where JavaScript floating-point arithmetic remains exact.
Applications extend far beyond pure mathematics. Hash functions use modular arithmetic to map data to fixed-size buckets. Checksums like ISBN verification employ mod 10 or mod 11 computations. The days of the week cycle with period 7 — determining what day a future date falls on is a mod 7 calculation. Error-correcting codes in telecommunications use polynomial arithmetic over finite fields, which are modular systems built on prime moduli.
The calculator applies modular arithmetic operations following standard algebraic rules for congruences.
Step 1: Reduce inputs. Compute the residues:
$$a' = a \bmod m, \quad b' = b \bmod m$$
For negative values, the calculator uses the positive representative: $$a' = ((a \bmod m) + m) \bmod m$$.
Step 2: Apply the operation.
Addition: $$(a + b) \bmod m = (a' + b') \bmod m$$
Subtraction: $$(a - b) \bmod m = ((a' - b') \bmod m + m) \bmod m$$
Multiplication: $$(a \times b) \bmod m = (a' \times b') \bmod m$$
Exponentiation: $$a^b \bmod m$$ — computed directly for small values.
Step 3: Normalize. The result is always returned in the range $$[0, m-1]$$, ensuring a canonical representative of the residue class.
The subtraction formula adds $$m$$ before taking the final modulus to handle cases where $$a' < b'$$, which would otherwise produce a negative intermediate result. This guarantees the output is always non-negative.
a mod m and b mod m show the reduced residues of your inputs. Working with these smaller values is algebraically equivalent to working with the originals — a key property that cryptographic algorithms exploit to keep numbers manageable.
Raw Operation Result displays the unreduced result of the arithmetic operation before applying the modulus. For large exponents, this value can grow extremely large.
Final Result (mod m) is the canonical answer in the range [0, m−1]. This is the remainder when the raw result is divided by m.
Verification presents the complete equation for quick reference and checking.
Inputs
Results
17 mod 7 = 3 and 23 mod 7 = 2. Then (3 + 2) mod 7 = 5. Equivalently, 40 ÷ 7 = 5 remainder 5.
Inputs
Results
3⁴ = 81. Then 81 mod 5 = 1. This illustrates Fermat's Little Theorem: since 5 is prime and gcd(3,5)=1, we have 3^(5−1) ≡ 1 (mod 5).
Modular arithmetic is fundamental to cryptography (RSA, Diffie-Hellman, elliptic curve systems), computer science (hash tables, checksums, random number generators), coding theory (error detection and correction), and everyday applications like calendar calculations. Any time you need to work with cyclical or wrap-around quantities, modular arithmetic provides the framework.
When $$a' < b'$$, the difference $$a' - b'$$ is negative. Adding $$m$$ before the final mod operation shifts the result into the positive range $$[0, m-1]$$ without changing its residue class. For example, $$2 - 5 = -3$$, and $$(-3 + 7) \bmod 7 = 4$$, which is the correct positive representative.
JavaScript uses 64-bit floating-point numbers, which represent integers exactly up to $$2^{53} \approx 9 \times 10^{15}$$. For addition, subtraction, and multiplication, results are exact when both inputs and intermediate products stay below this threshold. For exponentiation, $$a^b$$ grows extremely fast, so this calculator is reliable for small bases and exponents (roughly $$a^b < 10^{15}$$).
The calculator normalizes negative numbers to their positive residue. For instance, $$-3 \bmod 7 = 4$$ because $$-3 + 7 = 4$$ and $$0 \le 4 < 7$$. Mathematically, $$-3$$ and $$4$$ belong to the same residue class modulo 7.
In mathematics, the modulo operation always returns a non-negative result in $$[0, m-1]$$. Some programming languages define the remainder operator (%) to preserve the sign of the dividend, so $$-7 \% 3 = -1$$ in C/Java but $$-7 \bmod 3 = 2$$ mathematically. This calculator uses the mathematical convention.
A modular inverse $$a^{-1} \bmod m$$ exists when $$\gcd(a, m) = 1$$. While this calculator doesn't directly compute inverses, you can use the power operation: by Euler's theorem, $$a^{\varphi(m) - 1} \bmod m$$ gives the inverse when $$\gcd(a, m) = 1$$. For prime $$m$$, this simplifies to $$a^{m-2} \bmod m$$.
Roboculator Team
The Roboculator Team explains calculations, planning tools, and practical formulas in clear language for real-life situations.
How helpful was this calculator?
Be the first to rate!