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