运算顺序

☰ Contents

每隔几个月就会在网上吵一次的式子:2 + 3 × 4。一半评论说 20,一半说 14,而说 14 的那一半是对的 —— 不是因为哪个委员会投过票,而是因为 3 × 4 从来就不是两个数,它是一整包。

什么是运算顺序?

运算顺序是规定一道算式里哪一部分先算的规则:先括号,再幂和根号,再从左到右做乘除,最后从左到右做加减。在 20 − 2 × (3 + 4) 里,括号先算得 7,乘法得 2 × 7 = 14,减法得 20 − 14 = 6,所以 20 − 2 × (3 + 4) = 6。有这条规则,是为了让所有人都用同一个顺序读懂算式。PEMDAS、BODMAS、BIDMAS 只是同一份清单的不同名字。人们最容易在同一层有两种运算的地方出错。乘法和除法是平等的搭档,要从左到右做:12 ÷ 3 × 2 = 4 × 2 = 8,不是 2。要检验,就按做的顺序把每一步都加上括号:20 − (2 × (3 + 4)) = 6。

  1. 先括号。括号里的东西,要先算完才能跟外面打交道。
  2. 再乘除,从左往右。一层,一遍扫过去。(像 3² 这样的乘方在这一层的正上方:先平方,再乘。)
  3. 最后加减,从左往右。同样是一层,一遍扫过去。
(5 + 3) × 2brackets first8 × 2then multiply16
有括号:先 5 + 3 得 8,再 8 × 2 得 16。 完整课程: 括号和四则运算
bracketsthe new rungpowers and rootsthen these× and ÷last of all+ and −
所以阶梯多了一级:括号,然后幂和根号,然后×÷,最后+−。 完整课程: 运算顺序中的幂

规则就这么多。课本上的“先括号,再乘除,后加减”,和英语世界的 PEMDAS、BODMAS,都是同一张单子换了顶帽子。

你来试试

(21 − 12) ÷ 3brackets first

(21 − 12) ÷ 3

(10 − 8) ÷ 2brackets first

(10 − 8) ÷ 2

这个顺序为什么存在

(2 + 3) × 4 = 202 + (3 × 4)(2 + 3) × 4

这样算出的是(2 + 3) × 4 = 20,这并不是2 + 3 × 4的意思

按规则说的顺序做

乘法是压缩过的加法:3 × 4 的意思就是 4 + 4 + 4。所以 2 + 3 × 4 其实是 2 + (4 + 4 + 4) —— 一个 2,加上“三个 4”那么一包。这一包在句子写下来之前就已经成包了,× 号只是把它继续包着。在加 2 之前先拆包,不是对某条约定客气,而是照着写出来的意思去读。

括号是为相反的时刻准备的:当你想让加法先发生时,就把它说出口。(2 + 3) × 4 = 5 × 4 = 20。同样三个数,不同的句子。

3 + (4 × 2)brackets first3 + 8then add11
括号一挪,意思跟着挪:3 + (4 × 2) 是 3 + 8,也就是 11。 完整课程: 先算括号

运算顺序在例题里是怎么用的?

做例题时一次处理一层。4 + 6 × 2 − 3 中,乘法先算:6 × 2 = 12,式子变成 4 + 12 − 3。接着从左到右做加减:4 + 12 = 16,16 − 3 = 13,所以 4 + 6 × 2 − 3 = 13。如果直接从左往右算会得到 17,那是错的,因为 6 × 2 是一个整体的量,必须先求出来才能加进别的数。括号会改变顺序:(4 + 6) × 2 − 3 要求先加,于是变成 10 × 2 − 3 = 20 − 3 = 17。乘方的作用就像高一层的括号:2 + 3² 要先平方,所以 2 + 9 = 11。要检验,把括号写出来:4 + (6 × 2) − 3 = 13。

第二层压过第三层:先乘后加

2 + 3 × 4 → 2 + 12 → 14

5 × 2 + 3 × 4 → 10 + 12 → 22 —— 两个包都先拆开,然后才加。

3 + 4 × 2× acts first3 + 8then add11
没有括号,× 就先算:4 × 2 是 8,而 3 + 8 得 11。 完整课程: 先乘除后加减
20 − 12 ÷ 4÷ acts first20 − 3then subtract17
除法也先算:12 ÷ 4 变成 3,所以 20 − 12 ÷ 4 是 20 − 3,得 17。 完整课程: 先乘除后加减

括号改写句子

(2 + 3) × 4 → 5 × 4 → 20

18 − (4 + 6) → 18 − 10 → 8

(3 + 4) × 2brackets first7 × 2then multiply14
3 + 4 × 2 可以读成 14,也可以读成 11。括号消除疑问:(3 + 4) × 2 是 14。 完整课程: 先算括号

四则一起上

按层走:先括号,再乘除,最后加减。

7 + 2 × 6 − 5 → 7 + 12 − 5 → 19 − 5 → 14

(10 − 4) ÷ 2 + 1brackets first6 ÷ 2 + 1then divide3 + 1then add4
四种一起上:括号得 6,除得 3,加得 4。 完整课程: 括号和四则运算

带乘方的

3² + 4 × 5 → 9 + 20 → 29 —— 平方最先拆开(它是再压缩了一层的乘法,所以住在更上面一层),然后是 ×,最后才是 +。

the power first
3 × 16then multiply48
指数只作用于4:4²是16,所以3 × 4²是3 × 16,等于48。 完整课程: 运算顺序中的幂

你来试试

6 × 3 + 5× before +

6 × 3 + 5

15 − 6 ÷ 3÷ before −

15 − 6 ÷ 3

关于运算顺序,大家最容易搞错什么?

最常见的错误是把 PEMDAS 读成六个独立的步骤,以为所有乘法都排在所有除法之前,所有加法都排在所有减法之前。实际上乘法和除法共用一层,加法和减法共用另一层,每一层都从左往右做。所以 12 ÷ 2 × 3 = 6 × 3 = 18,而先做乘法会得到 12 ÷ 6 = 2,那是错的。同样,10 − 4 + 3 = 6 + 3 = 9,而先做加法会得到 10 − 7 = 3。这两对之所以共用一层,是因为除法抵消乘法、减法抵消加法,谁都不比对方高一等。第二个错误是在同一层里从右往左做,这只有在遇到除法或减法时才会改变答案。要检验带减法的式子,把每个减法都改写成加一个负数,顺序就不再重要了:10 + (−4) + 3 = 9。

8÷2×48 ÷ 82 × 4 = 88 ÷ (2 × 4) = 18 ÷ 2 × 48 − 2 + 5从左到右×先于÷

÷和×是一个等级,+和−是另一个等级:在同一等级内,从左到右先遇到哪个运算就先算哪个

选择从左到右,扫描到末尾

10 − 4 + 3same rank: left to right6 + 39
加和减同级,就从左往右算:10 − 4 是 6,再 6 + 3 是 9。 完整课程: 先乘除后加减
为什么是从左往右?因为 − 和 ÷ 不对称:8 − 2 不是 2 − 8。约定挑定一个阅读方向,同一行式子对所有人才是同一个意思。只有加法和乘法的话,根本不需要这条规则 —— 换顺序它们也不变。这也解释了为什么这个坑只在减法和除法出现时才咬人。

你来试试

6 × 3 + 5× before +

6 × 3 + 5

15 − 6 ÷ 3÷ before −

15 − 6 ÷ 3

轮到你了

三题试一试,点选作答。

3 + 4 × 2

(3 + 4) × 2

20 − 12 ÷ 4

常见问题

运算顺序是什么?
先算括号里的,再算乘方,然后从左往右算乘除,最后从左往右算加减。所以 2 + 3 × 4 是 2 + 12 = 14 —— 不管哪一个写在前面,乘法都先起作用。
为什么乘法排在加法前面?
因为 3 × 4 从一开始就是“三个 4 加在一起”的一整包,不是两个数。在 2 + 3 × 4 里,乘法是打包好的:你是在 2 上面加“三个 4 那么一包”。先把包拆开,并不是在迁就谁定下的约定,而是照着这行式子写的意思去读。
8 ÷ 2 × 4 等于多少?
等于 16。乘和除在同一层,从左往右依次算:8 ÷ 2 = 4,再 4 × 4 = 16。把乘法排在除法前面会算出 8 ÷ 8 = 1,那是凭空造了一个并不存在的优先级。
8 − 2 + 5 等于多少?
等于 11。加和减也在同一层,从左往右走:8 − 2 = 6,再 6 + 5 = 11。先算加法得到 2 + 5 = 7、再 8 − 7 = 1,用的是这里并不存在的优先级。
Mr. Chalk