按运算顺序计算完整的数学表达式
科学计算器会按照标准运算顺序,一次性计算完整的数学表达式 — 而不是每次只计算一个运算。 在下方的输入框或按钮面板中输入一个表达式,可包含括号、三角函数、对数、指数和阶乘,即可立即得到结果。
与基本的四则运算计算器不同,此计算器能像图形计算器或数学教科书一样,一次理解整个表达式:3 + 4 * 2 正确计算结果为 11(而非 14),因为乘法先于加法进行;sqrt(16) + 2^3 正确计算结果为 12,在同一表达式中结合了函数调用和指数运算。
计算公式
表达式按以下顺序从前到后计算:
- 括号和函数调用 —
( )内的任何内容,包括函数自身的参数(如sqrt(16)中的 16),都最先计算。 - 指数(
^)和后缀运算符(!表示阶乘,%表示百分比)— 对于连续指数运算,从右到左计算( 表示 ,而不是 )。 - 乘法和除法(
*、/),从左到右。 - 加法和减法(
+、-),从左到右。
度/弧度设置控制三角函数(sin、cos、tan 及其反函数)解释角度的方式 — 同一个表达式在两种模式下的含义各不相同,因此请选择与当前问题相匹配的模式。
举例说明
计算 :
- 先计算平方根:。 2. 计算指数:。 3. 将两个结果相加:。
函数和指数先被求解(步骤 1 和 2),然后才将两个结果相加(步骤 3)— 如果严格从左到右计算而不遵循这个顺序,将会得出一个不同的、错误的答案。
需要考虑的关键因素
- 混淆度和弧度模式,是三角函数结果出错最常见的原因之一。 同一个表达式,例如
sin(90), 根据 90 被解释为 90 度(结果为 1)还是 90 弧度(一个甚至不接近任何可识别标志性角度的数值), 会得出完全不同的答案 — 在信任三角函数结果之前,请务必先确认当前处于哪种模式。 - 隐式乘法(如
2(3+4)或3pi)是本计算器支持的一种便利写法,但了解其本质上仍是标准 乘法运算是值得的。 在括号或命名常量前直接写一个数字,是数学记法中常见的简写方式 — 本 计算器对它的解释与显式写出*完全相同。 - 括号缺失或不匹配,是输入复杂表达式时最常见的输入错误之一。 由于每一次函数调用和每一个 分组子表达式都需要有各自对应的右括号,一个包含多层嵌套函数的较长表达式,在把意外的结果归 咎于计算错误之前,值得先仔细检查括号是否配对。
- 本计算器绝不使用
eval()或类似的直接代码执行捷径,这是出于真实的安全考虑。 将用户输 入的字符串直接当作可执行代码来运行,对任何接受自由文本数学输入的工具来说都是众所周知的安 全风险 — 本计算器改用一套完整的数学语法,将表达式作为纯数据来解析,这是任何设计良好的计 算器应用都应采用的安全做法。
常见错误
- 忘记连续指数中
^是右结合的。2^3^2表示 ,而不是 — 最右边的指数先被求解,这与+和*等从左到右运算符的工作 方式相反。 - 假设负号总是先于指数运算。
-2^2计算结果为 -4,而不是 4,因为指数会先与 2 结合,之后 才应用一元负号 — 如果确实想对负数求平方,请使用显式括号,如(-2)^2。 - 在读取三角函数结果之前不检查当前使用的是哪种角度模式。 一个完全正确输入的表达式,如
sin(90),在度模式与弧度模式下会得出完全不同、但同样「正确」的答案 — 并非计算器出错,而是 所假设的模式不对。
实用小贴士
- 需要求解一元二次方程,而不只是计算单个表达式?一元二次方程求根公式计算器 可直接处 理该问题,包括复数根。
- 正在处理科学记数法中非常大或非常小的数字?科学记数法计算器 可在标准记 数法和科学记数法之间转换。
- 需要一个不含科学函数的更简单的四则运算计算器?普通计算器 可在没有额 外复杂度的情况下处理日常算术。