JAVA 프로그램의 실행 결과로 옳은 것은?class Test { pu… | [계리직 컴퓨터일반] 18년 1회차 기출문제 상세 페이지
1[계리직 컴퓨터일반] 18년 1회차
JAVA 프로그램의 실행 결과로 옳은 것은?class Test {
public static void main(String[] args) {
int a = 101;
System.out.println((a>>2) << 3);
}
}
1
0
2
200
3
404
4
600
해설
출력값은 200이다.
101을 2진수로 나타내면 1100101이다. 오른쪽으로 2비트 시프트(a>>2)하면 하위 2비트가 버려져 11001, 즉 25가 된다.
이를 왼쪽으로 3비트 시프트(<< 3)하면 이다.
- 0: 시프트 후에도 1이 남으므로 0이 될 수 없다.
- 404: 101을 2비트 왼쪽 시프트한 값(101×4)으로, 연산 순서와 방향을 잘못 본 결과이다.
- 600: 어떤 단계에서도 나오지 않는 값이다.
오류나 개정된 내용이 보이면 알려주세요