2010-06-24 75 views

回答

33

这取决于语言,但在C风格语言%相同precedence*/。这意味着如果它出现在相同的表达式中(不带圆括号),订单取决于associativity。在这种情况下,%通常是左关联的,所以操作符将按照从左到右的顺序执行。是

+0

a%b ==((a/b)-floor(a/b))* b //使用乘法,除法,减法和floor函数的组合:o – 2015-06-07 01:34:58

5

至少在C++和Java中,模(%)具有与乘法和除法相同的优先级。

由于%/*(通常)是左结合的,所以从左到右评估它们。

(感谢标记为指出operator associativity

+2

'在不存在括号的,相同的优先级的操作符是简单地从左到右进行评估。“并不总是如此。请参阅运算符关联性:http://en.wikipedia.org/wiki/Operator_associativity – 2010-06-24 21:50:15

0

模运算符%,因为在许多计算机编程语言中使用,是不是纯数学常见。所以这是一个关于如何在编程语言中处理操作符的问题,这在不同的语言中有所不同。

6

如果你的问题是关于编程语言则是,%的人相同的顺序为*和/

this table

+2

很高兴知道大多数语言倾向于遵循相同的标准。 – Mau 2010-06-24 21:50:14

+0

如果可以,我会冷静下来。任何时候,维基百科编辑/版主都可能随时都会看到这个链接。 Meher's更好。 – 2014-09-20 11:11:00

0

对于C++,它具有与乘法和除法相同的优先级。带他们,因为他们来了,从左到右。