정보처리기사 실기C언어C - 비트 연산자난이도 4SHORT_ANSWER

정보처리기사 실기 C - 비트 연산자 기출문제 #3462

문제

다음 C 코드의 실행 결과를 쓰시오.

C
#include <stdio.h> int main() { unsigned char mask = 0xAB; unsigned char target = 0x5D; unsigned char temp = mask; temp <<= 2; temp &= 0xFC; target ^= temp; target |= (mask >> 4); printf("%X", target & 0xFF); return 0; }

정답

FB

FBfb

해설

단계별로 계산하면 다음과 같다.

  1. mask = 0xAB, target = 0x5D
  2. temp = mask = 0xAB
  3. temp <<= 2 → 0xAB << 2 = 0x2AC, unsigned char에 저장되므로 하위 8비트만 남아 0xAC
  4. temp &= 0xFC → 0xAC & 0xFC = 0xAC
  5. target ^= temp → 0x5D ^ 0xAC = 0xF1
  6. mask >> 4 = 0x0A
  7. target |= 0x0A → 0xF1 | 0x0A = 0xFB
  8. target & 0xFF = 0xFB 따라서 최종 출력은 FB이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] C - 비트 연산자 C언어 기출 #3462 | sqldpass