为什么我们使用的操作员优先级规则算术运算符?我们不能只是从左到右以线性方式进行操作,反之亦然,并与首先出现的操作员处理。 例如,2 + 3 * 4=(2 + 3)* 4,如果我们从左到右进行操作。

我的猜测为什么我们可能做到这一点,因为 *和/ (划分和乘以)是复杂的并且如果操作数量较大,则变得更加复杂,而 +和 - (加上并减去)是简单的操作。

有帮助吗?

解决方案

在您注意中,操作员优先级没有需要。有许多其他在各种上下文中使用的约定。一些编程语言已经实施了问题的左右公约,并且更大的数字通过使用波兰符号它的反向

操作员优先级约定的目的是为了减少明确传达在实际数学使用中发生的想法所需的括号数。最重要的规则 - 乘法的优先级比加成更高,并且指数优先于乘法的优先级,主要是为了便于写入多项式。如果没有这些规则,多项式表达将需要更多的括号。多项式对数学实践如此核心,它们在算子优先和其他地方流入符号。

操作员优先级超出基本算术和关系的规则( $= $ $ \ leq $ 等)运营商是特定于域的,偶尔的作者偶尔必须指定他们在其符号部分中使用的公约。同样,拥有这样的规则的目的是在指定读者必须记住的惯例的情况下改善通信,比在任何地方写括号更好。

当优先的规则在整个数学字段中标准化时,通常是因为规则对数字上的算术或关系运算符有明确的比喻。例如,连接的优先级高于正则表达式中的联合,因为常规语言形成了一个 semiring ,就像所有你最喜欢的数字系统一样,并且正则表达式是该清晰的多项式表达式。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top