연산자 | 설명 | 예 |
---|---|---|
~ | 비트의 반전(1의보수) | a=~a |
& | 비트 단위 AND | 1&1 1반환 그 외는 0 |
^ | 비트 단위 XOR | 두개의 비트가 서로 다른경우에 1을반환 |
<< | 왼쪽 shift | a<<2변수 a를 2비트만큼 왼쪽으로 이동 |
>> | 오른쪽 shift | a>>2 변수 a를 2비트만큼 오른쪽으로이동 |
>>> | 오른쪽 shift | >>동일한 연산 채워지는 비트가 부호와 상관없이 0 임 |
마스크 : 특정 비트를 가리고 몇 개의 비트 값만 사용할떄
비트켜기: 특정 비트들만을 1로 설정해서 사용하고 싶을떄
예) &00001111(하위 4비트중 1인 비트만 꺼내기)비트끄기: 특정비트들 만을 0으로 설정해서 사용하고 싶을떄
예)|11110000(하위4비트중 0인 비트만 0으로 만들기)비트토글: 모든 비트들을 0은 1로 , 1은 0으로 바꾸고 싶을때
package operator; public class OperatorEx4 { public static void main(String[] args) { int num1 = 0B00001010; //10 int num2 = 0B00000101; //5 System.out.println(num1 & num2); System.out.println(num1 | num2); System.out.println(num1 ^ num2); System.out.println(num2 <<= 3); System.out.println(num2 > 1); } } 0 15 15 40 2