정보처리기능사 실기 시험 기출 문제 - 비트 우측 시프트 연산

  • 2 minutes to read

문제

다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.

소스 코드 파일명: bitwise_right_shift_operation.c

#include <stdio.h>

main() {
    int num = 1640;
    printf("%d", num >> 3);
}

입력 예시

이 프로그램은 입력을 받지 않습니다.

출력 예시

205

해설

이 프로그램은 정수 변수 num을 초기화한 후, 이 변수에 대해 비트 우측 시프트 연산을 수행하고 그 결과를 출력합니다.

  1. int num = 1640;는 정수 변수 num을 선언하고 1640으로 초기화합니다.
  2. printf("%d", num >> 3);num에 대해 3비트 우측 시프트 연산을 수행하고, 그 결과를 정수 형식으로 출력합니다. 비트 우측 시프트 연산자 >>는 변수의 비트 값을 지정된 횟수만큼 우측으로 이동시킵니다. 이 경우, num의 이진 표현을 3비트 우측으로 이동시키는 것입니다.

비트 우측 시프트 연산은 각 비트를 우측으로 지정된 수만큼 이동시키고, 새로 생기는 비트는 0으로 채워집니다. 이 연산은 실질적으로 변수의 값을 2의 거듭제곱으로 나누는 것과 동일한 효과를 가집니다. 예를 들어, 1640을 2의 3제곱(8)으로 나누면 결과는 205가 됩니다.

이 프로그램은 비트 우측 시프트 연산을 사용하여 정수 값을 효율적으로 나누는 방법을 보여줍니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com