논리 연산자
논리 연산자
논리 연산자는 서수(ordinal) 표현식의 개별 비트에 작용해요. 논리 연산자는 정수 타입의 피연산자만 받고, 결과도 정수 타입을 돌려줘요. 가능한 논리 연산자는 표 12.4에 나와 있어요.
출처: 문서
본문
표 12.4: 논리 연산자
| 연산자 | 동작 |
|---|---|
not |
비트별 부정 (단항) |
and |
비트별 and |
or |
비트별 or |
xor |
비트별 xor |
shl |
왼쪽으로 비트 시프트 |
shr |
오른쪽으로 비트 시프트 |
<< |
왼쪽으로 비트 시프트 (shl과 동일) |
>> |
오른쪽으로 비트 시프트 (shr과 동일) |
다음은 유효한 논리 표현식의 예시예요.
A shr 1 { same as A div 2, but faster}
Not 1 { equals -2 }
Not 0 { equals -1 }
Not -1 { equals 0 }
B shl 2 { same as B * 4 for integers }
1 or 2 { equals 3 }
3 xor 1 { equals 2 }
주석을 보면 알 수 있듯, shr 1은 정수 나눗셈 div 2와 같은 결과를 내면서도 더 빨라요. shl 2도 정수에서 B * 4와 동일한 효과를 줘요.