2020년09월26일 63번
[논리회로] 컴퓨터 연산기에서 수행되는 연산 알고리즘에 의해 2진수 연산을 수행할 때 상태초과(overflow)가 발생하지 않는 연산은?
- ① 부호가 다른 두 수의 덧셈
- ② 부호가 다른 두 수의 뺄셈
- ③ 곱셈
- ④ 나눗셈
(정답률: 16%)
문제 해설
부호가 다른 두 수의 덧셈은 두 수의 절댓값이 크기가 비슷할 때, 덧셈 결과가 상태초과를 발생시키지 않는다. 이는 두 수의 부호가 다르기 때문에 더 작은 수를 더 큰 수에 더하면 결과가 더 큰 수의 부호와 같아지기 때문이다. 예를 들어, 2진수로 0110과 1011을 더하면 다음과 같다.
0110
+1011
-----
1001
위의 예시에서 더 작은 수인 0110을 1011에 더하면 결과는 1001이 되며, 이는 2진수에서 최대값인 1111보다 작기 때문에 상태초과가 발생하지 않는다. 따라서 부호가 다른 두 수의 덧셈은 상태초과를 발생시키지 않는 안전한 연산이다.
0110
+1011
-----
1001
위의 예시에서 더 작은 수인 0110을 1011에 더하면 결과는 1001이 되며, 이는 2진수에서 최대값인 1111보다 작기 때문에 상태초과가 발생하지 않는다. 따라서 부호가 다른 두 수의 덧셈은 상태초과를 발생시키지 않는 안전한 연산이다.
연도별
진행 상황
0 오답
0 정답