2010-06-24 3 views
31

모듈러스는 어디에서 연산의 순서로 나오나요? 나는 그것이 부서와 유사하지만 이전이나 이후와 같다고 추측하고 있습니까?작동 순서의 모듈러스

답변

33

이 언어에 따라 다르지만, C 스타일의 언어로 %*/ 같은 precedence입니다. 즉, 동일한 표현식 (괄호 안 함)에 나타나는 경우 순서는 associativity에 따라 다릅니다. 이 경우 %은 일반적으로 왼쪽 연관이므로 연산자는 왼쪽에서 오른쪽 순서로 실행됩니다. 다음과 같이 많은 C 스타일의 언어에있는 사업자의

+0

a % b == ((a/b) -floor (a/b)) * b // 곱셈, 나누기, 빼기 및 바닥 함수의 조합을 사용합니다. –

5

적어도 C++ 및 Java의 경우 모듈로 (%)는 곱셈 및 나눗셈과 동일한 우선 순위를 갖습니다.

%, /*이 (주로) 왼쪽 연관 형이므로 왼쪽에서 오른쪽으로 평가됩니다. 많은 컴퓨터 프로그래밍 언어에서 사용되는

(operator associativity을 지적 마크 덕분에)

+2

'

table, 우선 순위가 동일한 수준의 운영자는 단순히 왼쪽에서 오른쪽으로 평가했다. 항상 그렇지는 않다. 연산자 연관성 : http://en.wikipedia.org/wiki/Operator_associativity –

0

모듈로 연산자 %는 순수 수학에서 일반적으로하지 않습니다. 그래서 이것은 프로그래밍 언어로 연산자를 다루는 방법에 대한 질문이며, 이것은 다른 언어 사이에서 다릅니다. 귀하의 질문은 프로그래밍 언어에 대한 경우

6

다음 예, %가 동일 순서 * 및/

this table를 참조있다.

+2

대부분의 언어가 동일한 표준을 따르는 경향이 있다는 것을 잘 알고 있습니다. – Mau

+0

만약 내가 할 수 downvote 줄. 링크는 위키 피 디아 편집자/사회자의 어리 석음으로 언제든지 부패 할 수 있습니다. Meher 's는 나아 졌어. –

0

C++의 경우 곱셈과 나눗셈과 같은 우선 순위를가집니다. 왼쪽에서 오른쪽으로 와서 그들을 가져 가라.

관련 문제