반응형
비트 연산자(bitwise operator)
비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자이다.
또한, 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때도 사용한다.
& | 대응되는 비트가 모두 1이면 1을 반환. (비트 AND 연산) |
| | 대응되는 비트 중에서 하나라도 1이면 1을 반환. (비트 OR 연산) |
^ | 대응되는 비트가 서로 다르면 1을 반환. (비트 XOR 연산) |
~ | 비트를 1이면 0으로, 0이면 1로 반전시킴. (비트 NOT 연산) |
<< | 지정한 수만큼 비트들을 전부 왼쪽으로 이동시킴. (left shift 연산) |
>> | 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산) |
다음 그림은 비트 AND 연산자(&)의 동작이다.
이처럼 비트 AND 연산자는 대응되는 두 비트가 모두 1일 때만 1을 반환하며, 다른 경우는 모두 0을 반환한다.
다음 그림은 비트 OR 연산자(|)의 동작이다.
이처럼 비트 OR 연산자는 대응되는 두 비트 중 하나라도 1이면 1을 반환하며, 두 비트가 모두 0일 때만 0을 반환한다.
다음 그림은 비트 XOR 연산자(^)의 동작.
이처럼 비트 XOR 연산자는 대응되는 두 비트가 서로 다르면 1을 반환하고, 서로 같으면 0을 반환한다.
다음 그림은 비트 NOT 연산자(~)의 동작이다.
이처럼 비트 NOT 연산자는 해당 비트가 1이면 0을 반환하고, 0이면 1을 반환한다.
그냥 반대라고 생각하면 된다.
그럼 가장 중요한!
비트연산을 왜 쓸까?
속도 때문이다
데이터가 적을 때는 사람이 체감하기 쉽지 않지만 데이터가 너무 많아졌을 때는
비트연산의 빠른 속도가 체감이 된다고 한다.
반응형
'JAVA' 카테고리의 다른 글
코드가 실행되는 순서를 볼 수 있는 디버깅 사이트 (0) | 2023.07.15 |
---|---|
[JAVA] 숫자 소수점 반올림/올림/내림 (1) | 2022.01.30 |
JAVA Eclipse 초기 세팅해주기(다크화면, 문자 인코딩) (0) | 2022.01.29 |
JAVA method는 두개의 값을 반환 할 수 있을까? (0) | 2022.01.28 |
1부터 100까지의 합 자바로 함수 만들기 (0) | 2022.01.28 |
Comment