17.4 연산자

연산자는 함수를 구성하는 주요 요소입니다. 우선 순위가 높은 연산자부터 계산하며, 우선 순위가 같은 경우에는 좌에서 우로 계산합니다. 단, 대입연산자 = 는 우에서 좌로 계산됩니다. (연산자항의 () 안의 숫자는 연산자의 우선순위를 나타내며, 우선 순위 숫자가 작을수록 우선 순위가 높습니다.)

문자열을 연산하는 경우에는 양쪽 모두 문자열로 구성되어야 하며, 문자열을 사용할 수 있는 연산자는 =, +, <, >, ,+, >=, ==, != 입니다.

내부연산의 처리 결과에 있어서 문자열을 제외한 나머지 연산은 내부적으로 8BYTE Double 로 처리됩니다.

 

연산자

기능

표현예시

설명

=

대입연산자

TAG_A = 3 + 4

3+4한 결과(7)를 TAG_A에 대입합니다.

~

1의 보수

~TAG_A

TAG_A가 00110101b인 경우, 결과는 11001010b 입니다.

!

논리 NOT

!TAG_A

TAG_A가 0이면 1, 0이 아니면 0 입니다.

+

더하기

TAG_A+4

"ABC" + "123"

TAG_A와 4를 더한 값을 의미합니다.

두 문자열일 경우 각 문자열을 연결한 값 "ABC123"을 의미합니다.

-

빼기

TAG_A – 4

TAG_A에서 4를 뺀 값을 의미합니다.

*

곱하기

TAG_A * 7

TAG_A와 7을 곱한 값을 의미합니다.

/

나누기

TAG_A / 7

TAG_A를 7로 나눈 값을 의미합니다.

%

나머지

TAG_A % 7

TAG_A를 7로 나눈 나머지 값을 의미합니다.

&

Bitwise AND

TAG_A & 0101b

TAG_A가 0011b인 경우, 결과는 0001b 입니다.

|

Bitwise OR

TAG_A | 0101b

TAG_A가 0011b인 경우, 결과는 0111b 입니다.

^

Bitwise XOR

TAG_A ^ 0101b

TAG_A가 0011b인 경우, 결과는 0110b 입니다.

&&

Logical AND

수식1 && 수식2

수식1과 수식2가 모두 참인 경우 1, 그밖의 경우에는 0 입니다.

||

Logical OR

수식1 || 수식2

수식1과 수식2가 모두 거짓인 경우 0, 그밖의 경우에는 1 입니다.

<< 

좌측 Shift

TAG_A << 3

TAG_A의 값(BIT)이 좌측으로 3Bit이동한 값을 의미합니다. 우측은 0으로 채워집니다.

TAG_A가 00110101b인 경우 결과는 10101000b 입니다.

>> 

우측 Shift

TAG_A >> 3

TAG_A의 값(BIT)이 우측으로 3Bit이동한 값을 의미합니다. 좌측은 0으로 채워집니다.

TAG_A가 00110101b인 경우 결과는 0000110b 입니다.

작다

TAG_A < 7

TAG_A가 7보다 작으면 1, 아니면 0 입니다.

크다

TAG_A > 7

TAG_A가 7보다 크면 1, 아니면 0 입니다.

<=

작거나 같다

TAG_A <= 7

TAG_A가 7보다 작거나 같으면 1, 아니면 0 입니다.

>=

크거나 같다

TAG_A >= 7

TAG_A가 7보다 크거나 같으면 1, 아니면 0 입니다.

==

같다

TAG_A == 7

TAG_A가 7이면 1, 아니면 0 입니다.

!=

같지 않다

TAG_A != 7

TAG_A가 7이 아니면 1, 같으면 0 입니다.