문제
다음 C 코드의 실행 결과를 쓰시오.
C#include <stdio.h> int main() { int x = 5; int y = 3; printf("%d", x << y); return 0; }
정답
40
40
해설
5를 이진수로 표현하면 101이다. 좌측 시프트 연산자(<<)는 비트를 왼쪽으로 이동시킨다. 5 << 3은 101을 3비트 왼쪽으로 이동시키는 것으로, 101000이 되어 십진수 40이 된다. 좌측 시프트는 2의 거듭제곱을 곱하는 것과 같으므로 5 × 2³ = 5 × 8 = 40이다.