3. operations

비트 이동 연산자

비트 이동(shift) 연산자는 정수 데이터의 비트를 좌 혹은 우측으로 밀어서 이동시키는 연산을 수행함.

  • a << b : 정수 a의 각 비트를 b만큼 왼쪽으로 이동(빈자리는 0으로 채워짐)

  • a >> b : 정수 a의 각 비트를 b만큼 오른쪽으로 이동(빈자리는 정수 a의 최상위 부호 비트(MSB)와 같은 값으로 채워짐)

// 1비트를 왼쪽으로 3번 이동하면 8, 
//32비트 전체를 왼쪽으로 3번이동하면 맨 왼쪽 3비트는 밀려서 버려짐
// 오른쪽의 빈 공간을 0으로 채움
int result = 1 << 3; 

// 8에 대해 2의 보수('NOT x'에서 1을 더한 값)를 얻음.
// 왼쪽에서 오른쪽으로 이동
// 왼쪽에 비는 공간을 1로 채움
int result2 = -8 >> 3;

대입 연산자

=, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=

삼항 연산자

(조건식) ? (값 또는 연산식) : (값 또는 연산식) == 피연산자1 ? 피연산자2 : 피연산자3

  • 조건식이 true이면 피연산자2, false이면 피연산자3

Last updated