← 회차 전체 문제정처LAB 자체 제작내용 검수 완료정처LAB 정보처리기사 필기 자체 제작 1회 · 프로그래밍 언어 활용 · C 비트 연산 · 66번
다음 C 프로그램의 출력값은?
unsigned int x = 0x2D;
unsigned int y = ((x << 1) ^ (x >> 2)) & 0x3F;
printf("%u", y);
- 1
13
오답 이유13은 시프트 결과나 XOR 비트 중 일부를 잘못 계산한 값으로, 최종 6비트는 `010001`이다. - 2
15
오답 이유마스크 `0x3F`는 하위 6비트를 유지하며 81의 하위 6비트는 15가 아니라 17이다. - 3
17
정답 근거90 XOR 11은 81이고, 81 AND 63은 17이므로 정답이다. - 4
21
오답 이유시프트와 XOR 뒤 마스크를 십진 산술 연산처럼 처리하면 나올 수 있으나 비트별 결과와 다르다.
정답·상세해설정답 3번
x는 45이다. `x << 1`은 90, `x >> 2`는 11이고 두 값의 XOR은 81이다. 마지막으로 하위 6비트만 남기면 `81 & 63 = 17`이므로 17을 출력한다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-22