Big Number Calculator
Exact arbitrary-precision arithmetic on integers — addition, subtraction, multiplication, division, modulo and power.
Inputs
Result
1111111110111111111011111111100
Number of Digits
31
A
123456789012345678901234567890
B
987654321098765432109876543210
Step by step
A
= 123456789012345678901234567890
B
= 987654321098765432109876543210
Computation
123456789012345678901234567890… + 987654321098765432109876543210…
= 1111111110111111111011111111100
Digit count
= 31
How it works
JavaScript's standard number type (IEEE 754 double) can only represent integers exactly up to 2⁵³ ≈ 9 × 10¹⁵. Beyond that, rounding errors accumulate. BigInt is a native JS type that stores integers with arbitrary precision — it can handle 100-digit numbers just as accurately as 3-digit ones, at the cost of slower computation. This calculator uses BigInt for all operations, giving you exact results for numbers of any size.
Formula
IEEE 754 safe integer limit
Standard float max safe integer: 2^53 − 1 ≈ 9 × 10^15
Frequently Asked Questions
Can this calculator handle factorials like 100!?
Yes — enter the number 100 and repeatedly multiply, or enter 100 as A and compute 100! step by step. 100! has 158 digits and is computed exactly: 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000.
What is the largest number I can compute?
BigInt has no practical limit — the memory of the device is the only constraint. For the power operation, results are capped at exponent 10 000 to prevent the page from freezing (10^10000 has 10001 digits).
Why doesn't this calculator support decimal inputs?
BigInt only represents integers exactly. Decimal arithmetic requires arbitrary-precision floating-point (like Python's Decimal), which this calculator doesn't implement. For decimal calculations, the standard calculator is sufficient for typical precision needs.