12.1.4 연산자

프로그램에서 사용할 수 있는 연산자에는 계산 연산자, 논리/비교 연산자 및 기타의 세 가지 유형이 있습니다.

(1) 계산 연산자

아래 표에서 계산 결과는 변수 A가 3(0000 0000 0000 0011)이고 변수 B가 4(0000 0000 0000 0100)라고 가정합니다.

나머지 계산 및 모든 Bitwise 계산은 32비트 정수 데이터로 수행됩니다.

연산자

기능

예시

설명

~

Bitwise invert

~A

각 비트들이 반전되는 기능. A (0000 0000 0000 0011b) ->(1111 1111 1111 1100b)

+

Addition

A+B

A 와 B 의 합 연산. 결과는 7.

-

Subtraction

A –B

A 와 B 의 빼기 연산 결과는 -1

*

Multiplication

A*B

A 와 B 의 곱셈 연산 결과는 12

/

Division

A / B

A 와 B 의 나눔 연산 . 결과는 0.75

%

Remainder

A % B

A를 B로 나눈 나머지 표시. 결과는 3.

&

Bitwise AND

A & B

A와 B의 비트 논리 AND 계산. 결과는 0.

|

Bitwise OR

A | B

A와 B의 비트 논리 OR 계산. 결과는 0111b (= 7).

^

Bitwise XOR

A ^ B

A와 B의 비트 논리 XOR 계산. 결과는 0111b (= 7).

<< 

Bitwise Shift Left

A << B

A의 비트를 B만큼 왼쪽으로 이동. 결과는 0011 0000b (= 48).

>> 

Bitwise Shift Right

A >> B

A의 비트를 B만큼 오른쪽으로 이동. 결과는 0.

(2) 논리/비교 연산자

아래 표에서 계산 결과는 변수 A가 1(True)이고 변수 B가 0(False)이라고 가정합니다. Canvas에서 0이 아닌 값은 모두 True로 처리됩니다. 0만 False로 인식됩니다.

계산 결과가 참이면 결과는 항상 1입니다.

연산자

기능

예시

설명

&&

Logical AND

A && B

A와 B가 참이면 결과는 1입니다. 다른 경우에는 결과가 0입니다.

||

Logical OR

A || B

A와 B가 거짓이면 결과는 0입니다. 다른 경우에는 결과가 1입니다.

Less than

A < B

A가 B보다 작으면 결과는 1입니다. 다른 경우에는 결과가 0입니다.

Greater than

A > B

A가 B보다 크면 결과는 1입니다. 다른 경우에는 결과가 0입니다.

<= or =<

Less than or equal to

A <= B

A가 B보다 작거나 같으면 결과는 1입니다. 다른 경우에는 결과가 0입니다.

>= or =>

Greater than or equal to

A >= B

A가 B보다 크거나 같으면 결과는 1입니다. 다른 경우에는 결과가 0입니다.

==

Equal to

A == B

A가 B와 같으면 결과는 1입니다. 다른 경우에는 결과가 0입니다.

!=

Is not equal to

A != B

A가 B가 아니면 결과는 1입니다. 다른 경우에는 결과가 0입니다.

(3) 기타 연산자

연산자

기능

예시

Description

=

Store

A = B

값 B를 A에 저장하고 결과로 사용합니다.

'=' 연산자는 아래와 같이 연속적으로 사용할 수 있습니다.

A = B = C;

이 경우 A와 B의 값은 C로 설정됩니다. 즉, 연산자의 가장 오른쪽에 있는 값은 "=" 연산의 결과 값으로 처리됩니다. 위에서 언급한 예제는 아래와 같이 프로그램 내부에서 처리됩니다.

B ← C

A ← B