: 비트를 이동시키는 연산자
'>>': 오른쪽으로 n칸 이동
'<<': 왼쪽으로 n칸 이동
ex. void main(){
int a, b, c, d ;
a = 4 ;
b = 1 ;
c = a << b ;
d = a >> b;
}
c = 1 0 0 (a = 4)
---------- (1(b = 1)칸 왼쪽으로 이동)
1 0 0 0 → 8
d = 1 0 0
---------- (1칸 오른쪽으로 이동)
1 0 . 0 → 2
해당 비트 모두 1이 할당되어 있어야, 1을 반환하는 연산자
ex. 5&3
5 = 1 0 1
3 = 0 1 1
-----------(AND 연산자)
0 0 1 → 1
비트 하나라도 1이 할당되어 있는 경우, 1을 반환하는 연산자
ex. 5|3
5 = 1 0 1
3 = 0 1 1
-----------(OR 연산자)
1 1 1 → 7
두 개의 비트가 서로 다른 경우, 1을 반환
두 개의 비트가 서로 같은 경우, 0을 반환하는 연산자
ex. 5^3
5 = 1 0 1
3 = 0 1 1
-----------(XOR 연산자)
1 1 0 → 6
비트를 0에서 1로, 1에서 0으로 반전시키는 연산자 =보수 연산자)
ex. ~5
5 = 1 0 1
~5 = 0 1 0 → 2 (NOT 연산자)