음..간단히 얘기하면 이동연산자는 비트단위로 연산을 하는 것입니다. 즉, 연산하려는 숫자를 2진수로 바꿔서 연산을 하는 것인데.. 자세한 것은 책을 보고 공부하셔야 합니다 -_-
그리고 위 소스의 문제점은 한 두가지가 아니네요. 더 많을 수도 있지만 제가 생각하는 문제점을 적자면. 1. x의 변수를 초기화 안하고 x>>2로 사용하려고 함 2. localVar의 변수 선언이 안되어 있음 3. (x>>2) ? 5:15; 이 부분이 결정적으로 이상합니다. x>>2 부분은 연산을 하는 부분이고 ? : 구문은 조건문인데.. (x == 2) ? 5 : 15; 이런 구문이면 몰라도..위 구문은 좀 이상하네요.
음...이상한 부분 적다보니 생각나서 테스트 해봤는데...혹시 int x , y = 10; y = y>>2; x = y; int localVar = (x==2) ? 5 : 15 ; 요렇게 코딩해서 localVar값이 5가 되도록 하려고 한것은 아닌가 하는 생각이 드네요 -_-;;
즉, 연산하려는 숫자를 2진수로 바꿔서 연산을 하는 것인데..
자세한 것은 책을 보고 공부하셔야 합니다 -_-
그리고 위 소스의 문제점은 한 두가지가 아니네요. 더 많을 수도 있지만 제가 생각하는 문제점을 적자면.
1. x의 변수를 초기화 안하고 x>>2로 사용하려고 함
2. localVar의 변수 선언이 안되어 있음
3. (x>>2) ? 5:15; 이 부분이 결정적으로 이상합니다. x>>2 부분은 연산을 하는 부분이고 ? : 구문은 조건문인데..
(x == 2) ? 5 : 15; 이런 구문이면 몰라도..위 구문은 좀 이상하네요.
음...이상한 부분 적다보니 생각나서 테스트 해봤는데...혹시
int x , y = 10;
y = y>>2;
x = y;
int localVar = (x==2) ? 5 : 15 ;
요렇게 코딩해서 localVar값이 5가 되도록 하려고 한것은 아닌가 하는 생각이 드네요 -_-;;