2010-06-24 86 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++,它具有與乘法和除法相同的優先級。帶他們,因爲他們來了,從左到右。