Short answer
What you need to know
Use parentheses when the intended order could be unclear. The shared calculator engine accepts an allowlisted mathematical grammar, reports the position of malformed input, checks function domains and finite results, and never evaluates entered text as JavaScript code.
Order and associativity
Functions and parentheses group values first, followed by factorial and powers, unary signs, multiplication and division, then addition and subtraction. Powers associate from the right, so 2^3^2 means 2^(3^2).
A leading minus applies after exponentiation in the shared grammar: −2^2 is −4. Write (−2)^2 when the negative value is the base.
Supported language is deliberately small
Numbers may use decimal or scientific notation. Named constants are pi and e. Reviewed functions include roots, absolute value, logarithms, exponentials, and common trigonometric functions. Unknown names, implicit multiplication, assignment, property access, and executable syntax are rejected.
Domains and finite results
Division by zero is undefined. Real square roots require non-negative inputs, logarithms require positive inputs, and inverse sine and cosine accept values from −1 through 1. Overflow and non-finite results are errors rather than displayed as NaN or infinity.
Bounded work
The engine limits input length, token count, nesting, exponent magnitude, and factorial input. These boundaries make behavior testable and prevent a short-looking input from demanding unbounded work.
Why parsing is safer than execution
The tokenizer recognizes only reviewed token types. The parser creates a mathematical expression tree, and the evaluator walks only known node types. It does not use eval, Function, dynamic imports, or treat entered text as a program.
Try these before revealing the answers
What is 2 + 3 × 4?
Show worked answer
Multiplication comes first, so the result is 14.
Why does sqrt(−1) fail here?
Show worked answer
The first release evaluates real numbers only, and −1 is outside the real square-root domain.
What does 2^3^2 mean?
Show worked answer
Powers associate from the right: 2^(3^2) = 512.
Important limitation
Verify important findings
The shared engine is an educational real-number calculator core, not an arbitrary programming language, symbolic algebra system, complex-number package, or certified numerical system.
Further reading
Authoritative references
These primary sources support the concepts and reference information in this guide. Their inclusion does not imply endorsement of Hidden Word Scanner.