Big Number Calculator

Exact arithmetic on integers with hundreds of digits — no floating-point rounding. Add, subtract, multiply, divide, power, GCD, LCM, and factorial using JavaScript BigInt.

Exact for large integers (+, −, ×, MOD, GCD, LCM). Approximate for decimals and powers. Supports scientific notation: 1e50, 6.022e23
Guides & Reference

How It Works

Why BigInt — no floating-point limitsAny calculation requiring exact integer results beyond 9 quadrillion.

Standard JavaScript numbers (64-bit doubles) lose precision above 2^53. BigInt is a separate data type with no upper bound. This calculator converts both inputs to BigInt before any operation, ensuring every digit is exact. The result displays with its digit count — useful for verifying large factorial or power computations.

BigInt exact up to millions of digits | float loses precision above 2^532^100 = 1267650600228229401496703205376 (31 digits, exact)
Multiplication — exact for huge numbersCombinatorics, number theory, cryptography key size verification.

Multiply any two integers exactly. Example: 123456789012345678901234567890 × 987654321098765432109876543210 — a 60-digit × 60-digit multiplication that standard calculators cannot handle. The result is the exact 120-digit product. Enter each number in the input fields and press ×.

a × b → exact product, any number of digits999999999 × 999999999 = 999999998000000001 (exact, 18 digits)
Power — a^n exact2^n for computing, 10^n for large scales, cryptographic key checks.

Enter base a and integer exponent n. The result is the exact integer. 2^64 = 18446744073709551616 (the number of IPv6 addresses). 2^256 has 78 digits (Bitcoin private key space). For very large exponents (n > 1000), computation may take a few seconds due to the number of digits involved.

a^n = a × a × ... × a (n times), BigInt exact2^64 = 18446744073709551616 | 2^256 = 78-digit number
GCD and LCM — Euclidean algorithmFraction simplification, finding common denominators, number theory.

GCD uses the Euclidean algorithm: GCD(a,b) = GCD(b, a mod b) until b=0. LCM = a×b/GCD(a,b). Both work exactly for arbitrarily large inputs. GCD(100-digit number, 50-digit number) runs in milliseconds. Enter both numbers and press GCD or LCM.

GCD via Euclidean algorithm | LCM = |a×b| / GCD(a,b)GCD(1234567890, 9876543210) = 90 | LCM = 135480701111100
Factorial n! — exact large integersCombinatorics, probability, verifying factorial values.

Enter n in the first input field and press n!. The result is the exact factorial — every digit correct. n! grows extremely fast: 10!=3628800 (7 digits), 100! (158 digits), 1000! (2568 digits). The digit count displays alongside the result. For n above 1000, computation may take 1-2 seconds.

n! = 1 × 2 × 3 × ... × n | 0! = 1 by convention10! = 3628800 | 20! = 2432902008176640000 | 100! = 158 digits

Quick Reference

Verify these results in the calculator above.

Power

2^100

31 digits (exact)

Factorial

10!

3,628,800

Factorial

100!

158 digits

Multiply

999999999×999999999

999999998000000001

GCD

GCD(12, 18)

6

LCM

LCM(12, 18)

36

Modulo

17 mod 5

2

Computing

2^64

18446744073709551616

Tips & Shortcuts

✓

Enter numbers as plain digits — no commas, spaces, or scientific notation. The input accepts unlimited length, so type all digits for exact BigInt arithmetic.

✓

For modular exponentiation (a^e mod n): compute a^e first (may be millions of digits), then compute mod n. For large e, consider splitting into smaller steps.

✓

The digit count next to the result tells you the order of magnitude: 100! has 158 digits, meaning it is between 10^157 and 10^158.

✓

GCD and LCM work efficiently even for 100+ digit numbers thanks to the Euclidean algorithm — no brute-force factoring needed.

✓

Integer division truncates toward zero. If you need to check for exact divisibility, compute the modulo — if the result is 0, the division is exact.

Common Mistakes

✕

Entering numbers with commas (1,000,000 instead of 1000000)

The calculator interprets the input as a raw string of digits. Commas are not accepted — enter 1000000, not 1,000,000.

✕

Using scientific notation (1e20) for input

Scientific notation is not parsed as BigInt — it would be read as the string "1e20" causing an error. Convert to full digits first: 1e20 = 100000000000000000000 (21 digits).

✕

Expecting decimal results from division

BigInt division is integer-only: 17÷5=3 with remainder 2. Use modulo (17 mod 5 = 2) separately. For decimal results, use the regular calculator.

✕

Computing very large factorials (n > 10000) and expecting instant results

10000! has 35,659 digits and may take 1-2 seconds. 100000! would take much longer. The calculator will complete but may appear slow for extreme inputs — this is normal for arbitrary-precision arithmetic.

✕

Using power with a negative exponent

BigInt only supports non-negative integer exponents. a^(−n) would be a fraction, which BigInt cannot represent. For negative exponents, use the Exponent Calculator which uses floating-point arithmetic.

Frequently Asked Questions

Standard 64-bit floating-point (IEEE 754 double) represents integers exactly only up to 2^53 = 9,007,199,254,740,992. Beyond this limit, precision is lost — for example, 9007199254740993 becomes 9007199254740992 in standard math. BigInt uses arbitrary-precision integer arithmetic with no upper limit, giving exact results for any size integer.

Addition (+), subtraction (−), multiplication (×), integer division (÷, truncates toward zero), modulo (remainder), power (a^n for non-negative integer n), GCD (Greatest Common Divisor using the Euclidean algorithm), LCM (Least Common Multiple via LCM=a×b/GCD), and factorial (n! for n up to ~1000 in reasonable time). All exact — no rounding.

No hardcoded limit. BigInt can represent integers with millions of digits. Practical examples: 1000! has 2,568 digits and computes in milliseconds. 2^10000 has 3,011 digits and computes instantly. 10000! has 35,659 digits and may take 1-2 seconds. The only limit is your browser's available memory.

BigInt division is integer division — it truncates toward zero and discards the remainder. 17 ÷ 5 = 3 (not 3.4). To get the remainder: use the modulo operation, 17 mod 5 = 2. The division result and remainder together express the full relationship: dividend = divisor × quotient + remainder. 17 = 5 × 3 + 2.

100! has 158 digits. The exact value is 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000. Enter 100 in the first field and press n! to verify instantly.

Yes, for educational purposes. RSA arithmetic involves large-integer operations: modular exponentiation (compute a^e, then mod n), GCD checks for coprimality in key generation, and factoring tests. This calculator handles the arithmetic but does not implement protocols. For modular exponentiation: compute a^e first (may be huge), then compute mod n separately — or use a dedicated modular exponentiation tool.

Type all digits directly — the input accepts unlimited length. No commas, spaces, or scientific notation. Negative numbers use a leading minus sign. For numbers in scientific notation (e.g. 1.5×10^20), convert to all digits first: 150000000000000000000. The calculator requires the full integer representation for exact BigInt arithmetic.

Related Calculators