비트 연산자(Bitwise operator)는 비트 단위로 연산을 수행하며 산술 연산식에서 이용될 수 있다. 피연산자로 정수 타입이 지정되며, BIT 타입은 지정될 수 없다. 연산 결과로 BIGINT 타입 정수(64비트 정수)를 반환한다. 이때, 하나 이상의 피연산자가 NULL이면 NULL을 반환한다.
아래는 CUBRID가 지원하는 비트 연산자의 종류에 관한 표이다.
CUBRID가 지원하는 비트 연산자
비트 연산자 |
설명 |
조건식 |
리턴 값 |
---|---|---|---|
& |
비트 단위로 AND 연산을 수행하고, BIGINT 정수를 반환한다. |
17 & 3 |
1 |
| |
비트 단위로 OR 연산을 수행하고, BIGINT 정수를 반환한다. |
17 | 3 |
19 |
^ |
비트 단위로 XOR 연산을 수행하고, BIGINT 정수를 반환한다. |
17 ^ 3 |
18 |
~ |
단항 연산자이며, 피연산자의 비트를 역으로 전환(INVERT)하는 보수 연산을 수행하고, BIGINT 정수를 반환한다. |
~17 |
-18 |
<< |
왼쪽 피연산자의 비트를 오른쪽 피연산자만큼 왼쪽으로 이동시키는 연산을 수행하고, BIGINT 정수를 반환한다. |
17 << 3 |
136 |
>> |
왼쪽 피연산자의 비트를 오른쪽 피연산자만큼 오른쪽으로 이동시키는 연산을 수행하고, BIGINT 정수를 반환한다. |
17 >> 3 |
2 |