프로그래밍의 기초(의사 코드 트레이스)
x와 y는 8비트 부호 없는 정수라고 한다. <<와 >>는 논리 시프트이며, 빈 비트에는 0이 들어가고 8비트를 넘친 비트는 버린다. ∨는 비트별 논리합을 나타낸다. x가 75일 때, 다음 대입을 실행한 후의 y의 값은?
8-bit: x ← 75, y
y ← (x << 4) ∨ (x >> 4)
- A75
- B180
- C210
정답과 해설 보기
정답: B. 180
75는 2진수로 0100 1011입니다. x << 4는 하위 4비트를 상위로 옮겨 1011 0000 = 176(넘친 0100은 버려집니다), x >> 4는 상위 4비트를 하위로 옮겨 0000 0100 = 4입니다. 논리합은 1011 0100 = 180으로, 상위 4비트와 하위 4비트를 교환한 값이 됩니다. 8비트에 담지 않고 75 × 16 = 1200 그대로 다루면 결과가 달라집니다.