공부/기타
비트 연산자 사용하기 - 1편
아찌방
2024. 1. 22. 00:29
비트 연산자를 사용하여 정수형 데이터의 비트 단위 조작을 할 수가 있습니다.
주요 비트 연산자는
종류 | 설명 |
AND(&) | 두 비트가 모두 1일 때만 결과가 1이 됩니다. |
OR(|) | 두 비트 중 하나라도 1이면 결과가 1이 됩니다. |
XOR(^) | 두 비트가 서로 다르면 결과가 1이 됩니다. |
NOT(~) | 비트를 반전시킵니다. 0은 1로, 1은 0으로 바꿉니다. |
시프트 연산자(<<, >>, >>>) |
|
정도가 있습니다.
예시
1. AND(&) 연산자 : 두 비트가 모두 1일 때만 결과가 1이 됩니다.
int a = 5; // 이진수: 0101
int b = 3; // 이진수: 0011
int result = a & b; // 결과: 0001 (1)
2. OR(|) 연산자 : 두 비트 중 하나라도 1이면 결과가 1이 됩니다.
int a = 5; // 이진수: 0101
int b = 3; // 이진수: 0011
int result = a | b; // 결과: 0111 (7)
3. XOR(^) 연산자 : 두 비트가 서로 다르면 결과가 1이 됩니다.
int a = 5; // 이진수: 0101
int b = 3; // 이진수: 0011
int result = a ^ b; // 결과: 0110 (6)
4. NOT(~) 연산자 : 비트를 반전시킵니다. 0은 1로, 1은 0으로 바꿉니다.
int a = 5; // 이진수: 0101
int result = ~a; // 결과: 1010 (-6)
5. 시프트 연산자
1) << (왼쪽 시프트) : 비트를 왼쪽으로 이동시킵니다. 오른쪽에 0으로 채워집니다.
2) >> (오른쪽 시프트) : 비트를 오른쪽으로 이동시킵니다. 왼쪽에 부호 비트로 채워집니다.
3) >>> (부호 없는 오른쪽 시프트) : 비트를 오른쪽으로 이동시키되, 왼쪽에 0으로 채웁니다.
int a = 5; // 이진수: 0101
int resultLeftShift = a << 1; // 결과: 1010 (10)
int resultRightShift = a >> 1; // 결과: 0010 (2)
다음에 또 봐요
728x90