문제
다음 중 a * 2와 동일한 계산식은?
① a >> 1 ② a << 1 ③ a + 2 ④ a / 2
정답
2번
해설
정답: 2. a << 1은 비트를 왼쪽으로 1칸 이동시키는 연산으로, 수학적으로 2를 곱하는 것과 같다. 즉 a << 1 = a * 2이다.
오답 풀이
- 1번:
a >> 1은 오른쪽 1비트 이동으로a / 2와 같다. - 3번:
a + 2는 단순 덧셈으로a * 2와 다르다 (a=2일 때만 우연히 일치). - 4번:
a / 2는 2로 나누는 연산이다.
보충 개념 비트 시프트 연산은 2의 거듭제곱 곱셈/나눗셈과 동일하다.
a << n=a × 2ⁿa >> n=a ÷ 2ⁿ