컴퓨터 산술
부호 없는 정수끼리의 덧셈에서 결과가 표현 가능한 범위를 넘은(오버플로한) 것을 판정하는 방법으로 올바른 것은 무엇입니까?
- A결과의 최상위 비트가 1이 되었는지를 본다
- B두 입력의 최상위 비트가 같은지를 본다
- C최상위 비트에서 바깥으로 올림이 나왔는지를 본다
정답과 해설 보기
정답: C. 최상위 비트에서 바깥으로 올림이 나왔는지를 본다
부호 없는 덧셈에서는 최상위 비트에서 더 위로 올림이 나왔을 때 결과가 비트 수로 표현할 수 있는 최댓값을 넘은 것입니다. CPU에서는 이 올림이 캐리 플래그로 남으므로 그것을 조사하면 판정할 수 있습니다. 결과의 최상위 비트가 1이 되는 것은 단순히 큰 수가 된 것일 뿐 오버플로가 아닙니다. 최상위 비트로의 올림과 최상위 비트에서의 올림의 차이를 보는 것은 부호 있는 수의 오버플로 판정 방법입니다.