비트 연산자를 사용하여 정수형 데이터의 비트 단위 조작을 할 수가 있습니다.
주요 비트 연산자는
종류 | 설명 |
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
'공부 > 기타' 카테고리의 다른 글
MySQL - JOIN 사용법(INNER, LEFT, RIGHT, FULL OUTER) (1) | 2024.02.13 |
---|---|
비트 연산자 사용하기 - 2편 (NOT 연산의 과정, 5의 NOT이 -6인 이유) (0) | 2024.01.22 |
Character 메소드 활용 (0) | 2024.01.04 |
Scanner 로 char 형 입력하기 - JAVA (0) | 2022.12.25 |
반복문 없이 2차원(다차원) 배열 출력하기 ( Arrays.deepToString(arr))- JAVA (0) | 2022.12.22 |