← 회차 전체 문제정처LAB 자체 제작내용 검수 완료정처LAB 정보처리기사 필기 자체 제작 2회 · 프로그래밍 언어 활용 · 비트 연산 · 78번
다음 8비트 논리 이동 코드의 출력은?
uint8_t x = 0xB0;
uint8_t y = (uint8_t)(x >> 2);
printf("0x%02X", y);
- 1
0x2C
정답 근거0xB0=1011 0000을 unsigned로 두 칸 오른쪽 이동하면 0010 1100=0x2C이므로 정답이다. - 2
0x58
오답 이유0x58은 한 비트만 오른쪽 이동한 0101 1000의 값이다. - 3
0xD8
오답 이유0xD8은 왼쪽을 1로 채우는 산술 이동을 한 비트 적용한 형태와 유사하지만 x는 uint8_t다. - 4
0xEC
오답 이유0xEC는 부호 확장과 비트 이동 수를 모두 잘못 적용한 결과로 논리 이동과 맞지 않는다.
정답·상세해설정답 1번
0xB0은 이진수 `1011 0000`이다. 부호 확장 없이 두 비트 논리 오른쪽 이동하면 왼쪽이 0으로 채워져 `0010 1100`, 즉 0x2C가 된다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-16