什么是BODMAS?为什么在编程中有用?

最佳答案

http://www.easymaths.com/What_on_earth_is_Bodmas.htm


您认为2 + 3 x 5的答案是什么?

是(2 + 3)x 5 = 5 x 5 = 25吗?

或2 +(3 x 5)= 2 + 15 = 17?

BODMAS可以提供​​帮助,并为我们提供规则,以便我们始终获得正确的答案:

(B)球拍(O)r(D)ivision(M)重复(A)目的(S)

根据BODMAS,乘法应始终在加法之前完成,因此17实际上是BODMAS的正确答案,也将是计算器输入2 + 3 x 5时给出的答案。


为什么在编程中有用?不知道,但我想是因为您可以摆脱一些括号?我是一个非常有防御力的程序员,所以我的台词可以像这样:

result = (((i + 4) - (a + b)) * MAGIC_NUMBER) - ANOTHER_MAGIC_NUMBER;


使用BODMAS,您可以使它更加清晰:

result = (i + 4 - (a + b)) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;


我认为我仍然会使用第一个变体-更多括号,但是那样一来,我不必学习另一条规则,而忘记该规则并引起那些怪异的难以调试的错误的风险就降低了?

只是猜测在那部分。

Mike Stone编辑:修正了Gaius指出的数学问题

10-07 20:36