논리 회로
2의 보수 표현의 수끼리 덧셈에서 오버플로(자리 넘침)가 일어났음을 판정하는 조건으로 올바른 것은 무엇입니까?
- A최상위 비트로의 올림수와 최상위 비트로부터의 올림수가 다를 때
- B결과가 0이 되었을 때
- C최하위 비트의 합이 1이 되었을 때
정답과 해설 보기
정답: A. 최상위 비트로의 올림수와 최상위 비트로부터의 올림수가 다를 때
2의 보수 덧셈에서는 양수끼리 더해 음수가 되거나, 음수끼리 더해 양수가 되었을 때가 오버플로이며, 최상위 비트로의 올림수와 최상위 비트로부터의 올림수가 다르다는 것(둘의 XOR가 1)으로 판정할 수 있습니다. 예를 들어 4비트에서 0111(7) + 0001(1) = 1000(−8)입니다. 부호가 다른 수끼리의 덧셈에서는 오버플로가 일어나지 않습니다. CPU는 이를 V 플래그, 부호 없는 자리 넘침을 C 플래그로 구별합니다.
- A. 맞습니다. 최상위 비트로의 올림수와 최상위로부터의 올림수가 다를 때입니다.
- B. 결과가 0이 되는 것은 오버플로를 의미하지 않습니다.
- C. 최하위 비트는 오버플로 판정과 관계없습니다.