..

Search

20) 비트 연산자

비트 연산자


비트 연산자(bitwise operator)

비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행합니다.

또한, 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때도 사용합니다.

비트 연산자 설명
& 대응되는 비트가 모두 1이면 1을 반환함. (AND 연산)
| 대응되는 비트 중에서 하나라도 1이면 1을 반환함. (OR 연산)
^ 대응되는 비트가 서로 다르면 1을 반환함. (XOR 연산)
~ 비트를 1이면 0으로, 0이면 1로 반전시킴. (NOT 연산)
<< 지정한 수만큼 비트를 전부 왼쪽으로 이동시킴. (left shift 연산)
>> 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산)

 

예제

 

SELECT b'1000' & b'1111', // 첫 번째 비트만이 둘 다 1이므로, 연산 결과는 b'1000'이 됨.

b'1000' | b'1111',        // 모든 비트에 하나라도 1이 포함되어 있으므로, 연산 결과는 b'1111'이 됨.

b'1000' ^ b'1111',        // 첫 번째 비트를 제외한 모든 비트가 서로 다르므로, 연산 결과는 b'0111'이 됨.

b'1100' >> 1,             // 모든 비트를 1비트씩 오른쪽으로 이동시키므로, 연산 결과는 b'0110'이 됨.

b'1100' >> 2;             // 모든 비트를 2비트씩 오른쪽으로 이동시키므로, 연산 결과는 b'0011'이 됨.

 

코딩연습 ▶

실행 결과

 

MySQL에서는 '0'과 '1'로만 이루어진 문자열 앞에 'b'를 붙여 2진수를 표현할 수 있습니다.

연습문제