The arithmetic underneath, and where it stops being exact
This calculator evaluates in IEEE 754 double precision, the same format JavaScript, Python floats and most spreadsheet engines use. A double carries 53 bits of significand, which works out to roughly 15 to 17 significant decimal digits. Integers are exact up to 2⁵³, or 9,007,199,254,740,992 — beyond that, consecutive integers stop being representable and results silently round to the nearest even value.
Decimal fractions are the more visible limitation. One tenth has no finite binary representation, in the same way one third has no finite decimal one, so 0.1 + 0.2 is not exactly 0.3. Displayed output is rounded to hide this, but it is present in the stored value, and it is why comparing two computed results for exact equality is unreliable — compare against a small tolerance instead.
Subtracting two nearly equal numbers is where it becomes serious. Catastrophic cancellation destroys the leading significant digits and promotes rounding error that was previously negligible into the most significant position. If a calculation involves a difference of similar large quantities, rearranging the formula algebraically to avoid that subtraction is usually the only fix.
Degrees, radians and precedence
The most frequent wrong answer from any scientific calculator is a trigonometric function evaluated in the wrong angle mode. The underlying implementations work in radians — that is what the mathematics and every programming language's standard library use — and degree mode simply multiplies by π/180 first. Check the mode indicator before trusting a sine or cosine; a result that is plausible but wrong is more dangerous than an error.
Because π is irrational and stored as a rounded double, expressions that should be exactly zero are not. The sine of π evaluates to about 1.22 × 10⁻¹⁶ rather than 0, because the stored π differs from the true value in the last bits. That tiny residue is correct behaviour, not a fault.
Precedence around unary minus is the other classic. Mathematical convention binds exponentiation tighter than negation, so -2^2 is −4: the square is taken first, then negated. To square the negative number you need explicit parentheses, (-2)^2, which gives 4. Spreadsheets are a notorious exception here — Excel evaluates -2^2 as 4 — so a formula ported between the two can change value silently.
Factorials, overflow and the limits of the display
Factorial growth outruns double precision quickly. Values stay exact only to 18!; from 19! upwards the result is rounded, and above 170! the magnitude exceeds the largest representable double, around 1.8 × 10³⁰⁸, so the answer becomes Infinity. That is a genuine limit of the number format, not a restriction of this tool.
Underflow is the mirror image: results smaller than roughly 5 × 10⁻³²⁴ collapse to zero, passing through a range of subnormal values where precision degrades progressively rather than all at once.
For exact work with very large integers — cryptographic values, combinatorics, factorials beyond 18 — you need arbitrary-precision arithmetic, which trades speed for exactness and is a different kind of tool. For everyday calculation, the practical rule is to treat the last displayed digit or two as uncertain and never chain a long calculation through rounded intermediate values.