首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算机是如何遵循BODMAS规则的?

计算机是如何遵循BODMAS规则的?
EN

Stack Overflow用户
提问于 2022-01-17 17:21:51
回答 1查看 417关注 0票数 0

给出一个简单的算术表达式,即,

代码语言:javascript
运行
复制
3+2*5-6

当使用python作为语言计算时

代码语言:javascript
运行
复制
>>>3+2*5-6
7

就像我们在学校里被教导的那样,在给定的表达中

  1. 我们首先求解2*5,即10
  2. ,然后将结果加到3,即13
  3. ,最后从结果中减去6,即13-6=7

我想知道,即使没有指定括号,计算机如何处理这个表达式?

EN

回答 1

Stack Overflow用户

发布于 2022-01-17 17:36:05

备注:首先,在阅读答案之前,确保有Stackoverflow的轻量级主题,以便清晰地看到图像。

解析树

解析树是一种树数据结构,它可以用来表示真实世界的结构,如句子或数学表达式。

将句子表示为树结构允许我们使用子树来处理句子的各个部分。

我们还可以表示数学表达式,这是python如何设法保持运算符优先级(BODMAS)的答案,我们知道乘法比加或减都有更高的优先级。由于有括号,我们知道在进行乘法之前,必须计算括号大小的加法和减法表达式。树的层次结构帮助我们理解整个表达式的计算顺序。在计算顶层乘法之前,我们必须计算子树中的加减。加法,即左子树,计算为10。减法,即右子树,计算为3。使用树的层次结构,一旦计算了子树中的表达式,就可以简单地用一个节点替换整个子树。

如果您想了解更多关于实现部分以及如何编写解析树的信息,可以查看本文(http://www.openbookproject.net/books/pythonds/Trees/ParseTree.html)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70745215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档