비트 연산자(&, |, ^, ~, <<, >>, >>>)
: 정수타입만 비트연산을 할 수 있다.
비트 논리 연산자(&, |, ^)
: &, ^, | 연산자는 피연산자가 boolean 타입일 경우에는 일반 논리 연산자이고, 피연산가 정수 타입일 경우에는 비트 논리 연사자로 사용된다.
비트 이동 연산자(<<, >>, >>>)
: 비트이용 (shift) 연산자는 정수 데이터의 비트를 좌측 또는 우측으로 밀어서 이동시키는 연산을 수행한다.
구분 |
연산식 |
설명 |
||
이동(쉬프트) |
a |
<< |
b |
정수 a 의 각 비트를 b 만큼 왼쪽으로 이동 (빈자리는 0으로 채워진다.) |
a |
>> |
b |
정수 a의 각 비트를 b 만큼 오른쪽으로 이동 (빈자리는 정수 a 의 최상위 부호비트(MSB)와 같은 값으로 채워진다. |
|
a |
>>> |
b |
정수 a의 각비트를 b만큼 오른쪽으로 이동 (빈자리는 0으로 채워진다.) |
대입 연산자(+, +=, -=, *=, /=, %=, ^=, |=, <<=, >==, >>>=)
: 오른쪽 피연산자의 값을 좌측 피연산자인 변수에 저장
- 대입연산자는 모든 연산자들 중에서 가장 낮은 연산 순위를 가지고 있기 때문에 제일 마지막에 수행된다.
- 연산의 지행방향은 오른쪽에서 왼쪽이다.
1 2 3 4 5 6 | int result = 0; result += 10; // 10 result -= 5; // 5 result *= 3; // 15 result /= 5; // 3 result %= 3; //0 | cs |