문제

연관성이란 무엇이며 (운영자의 경우) 왜 중요한가?

업데이트 : 운영자 연관성

도움이 되었습니까?

해결책

연산자의 경우, 연관성은 동일한 연산자가 연속으로 나타날 때 어떤 연산자가 먼저 적용되는지를 의미합니다. 다음에서,하자 Q 운영자가 되십시오

a Q b Q c

만약에 Q 왼쪽 연관성이 있으면 AS를 평가합니다

(a Q b) Q c

그리고 그것이 올바른 연관성이라면, 그것은 다음과 같이 평가합니다.

a Q (b Q c)

표현의 의미를 바꾸므로 중요합니다. 정수 산술이있는 디비전 연산자를 고려하십시오.

4 / 2 / 3    <=>    (4 / 2) / 3    <=> 2 / 3     = 0

그것이 올바른 연관성이라면, 당신은 0으로 나누기 때문에 정의되지 않은 표현으로 평가할 것입니다.

4 / 2 / 3    <=>    4 / (2 / 3)    <=> 4 / 0     = undefined

다른 팁

세 가지 종류의 연관성이 있습니다.

수학의 연관 재산

프로그래밍 언어의 운영 순서

CPU 캐시의 연관성.

수학의 연관 속성은 추가 (+)와 같은 연산자의 속성입니다. 이 속성은 문의 값을 변경하지 않고 괄호를 재 배열 할 수 있습니다.

(a + b) + c = a + (b + c)

프로그래밍 언어에서, 연산자의 연관성 (또는 고정성)은 동일한 우선 순위의 연산자가 어떻게 그룹화되는지 결정하는 속성입니다. 결석 괄호의; 즉, 각 연산자가 평가되는 순서대로 이것은 프로그래밍 언어마다 다를 수 있습니다.

CPU 캐시에서, 연관성은 성능을 최적화하는 방법입니다.

동일한 우선 순위의 운영자에 대한 평가 순서입니다. 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽에서 왼쪽 주문이 중요합니다. 을 위한

3 - 2 - 1

왼쪽에서 오른쪽으로

(3 - 2) - 1

그리고 0입니다. 왼쪽에서 왼쪽이라면

3 - (2 - 1)

그리고 그것은 2입니다. 대부분의 언어에서, 우리는 마이너스 운영자가 왼쪽에서 오른쪽으로 연관성을 가지고 있다고 말합니다.

"운영자 연관성"을 언급하는 경우 - 언어가 괄호가없는 상태에서 동일한 우선 순위의 운영자가 어떻게 그룹화되는지를 결정하는 방법입니다.

예를 들어, C 기반 언어의 + 및 - 연산자는 동일한 우선 순위를 갖습니다. 두 가지를 사용하는 표현식을 작성할 때 (괄호없이) 컴파일러는이를 평가할 순서를 결정해야합니다.

12-5 + 3을 쓰면 가능한 평가에는 다음이 포함됩니다.

  1. (12 - 5) + 3 = 10
  2. 12 - (5 + 3) = 4

표현식을 평가하는 순서에 따라 다른 결과를 얻을 수 있습니다. C 기반 언어에서 +와 -는 연관성을 남겼으며, 이는 위의 표현이 첫 번째 사례로 평가 될 것임을 의미합니다.

모든 언어에는 우선 순위와 연관성에 대한 규칙이 강력하게 정의되어 있습니다. 규칙에 대해 자세히 알아볼 수 있습니다 씨# 여기. 운영자의 일반적인 개념 연관성 그리고 상위 Wikipedia에서 잘 덮여 있습니다.

단순한!!

왼쪽 연관성 우리는 표현식을 왼쪽에서 오른쪽으로 평가한다는 것을 의미합니다

올바른 연관성 우리는 표현을 오른쪽에서 왼쪽으로 평가한다는 것을 의미합니다

우리는 *, /및 %가 동일한 우선 순위를 가지고 있지만, 연관성에 따라 답변이 변경 될 수 있습니다.

예를 들어 : 우리는 표현이 있습니다 : 4 * 8 / 2 % 5

좌심 연관성 : (4 * 8) / 2 % 5 ==> (32 / 2) % 5 ==> 16 % 5 ==> 1

올바른 연관성 : 4 * 8 / (2 % 5) ==> 4 * (8 / 0) ==> 정의되지 않은 동작

이것이 도움이되기를 바랍니다.

나는 당신이 운영자 연관성을 의미한다고 생각합니다 ...

오페라를 연산자에게 바인딩하는 순서입니다. 원래:

a -b + c

다음과 같이 평가 될 수 있습니다 (가정 - 및 +는 동일한 우선 순위를 갖습니다) :

((A -B) + C) 또는
(A- (B + C))

연산자가 연관성이있는 경우 (왼쪽 피연산자에 즉시 바인딩) 첫 번째로 평가됩니다. 그들이 올바른 연관성이라면 두 번째로 평가됩니다.

운영자 연관성을 의미한다면 :

표현이 구문 분석되는 방식을 정의합니다. 표준을 제공하므로 모든 표현식이 같은 방식으로 구문 분석됩니다.

부작용이있을 수있는 경우 동일한 선례가있는 작업에 주로 중요합니다.

이전 예의 대부분은 상수를 사용했습니다. 인수가 함수 호출 인 경우, 호출이 이루어지는 순서는 컴파일러에 따라 협회 규칙에 의해 결정될 수 있습니다. 그리고 그 기능에 부작용이 있다면 ..

우리는 모두 우선 순위가 중요하지만 표현의 의미를 해석하는 데 있어서도 마찬가지입니다. 정말 간단한 소개를 위해 운영자의 힘.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top