C출력 결과보통 · 20점#비트 연산#연산자#반복문

29. 비트 연산자와 시프트 연산

다음 C 프로그램의 실행 결과를 쓰시오.

1#include <stdio.h>
2
3int main() {
4 int a = 12;
5 int b = 10;
6 int andv = a & b;
7 int orv = a | b;
8 int xorv = a ^ b;
9 int left = a << 2;
10 int right = b >> 1;
11 printf("%d %d %d\n", andv, orv, xorv);
12 printf("%d %d\n", left, right);
13 int flags = 0;
14 flags |= 1 << 3;
15 flags |= 1 << 0;
16 flags ^= 1 << 3;
17 int n = 13;
18 int cnt = 0;
19 while (n > 0) {
20 cnt += n & 1;
21 n >>= 1;
22 }
23 printf("%d %d\n", flags, cnt);
24 return 0;
25}

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.