使用 4 位 2 的补码算法,下列哪个加法会导致溢出?
- 1100 + 1100
- 0011 + 0111
- 1111 + 0111
(A) (i) 仅
(B) (ii) 仅
(C) (iii) 仅
(D) (i) 和 (iii) 仅答案:(乙)
说明:检测二进制补码和溢出的规则是:
- 如果两个正数之和产生负数; (+A) + (+B) = -C
- 如果两个负数之和产生正数; (−A) + (−B) = +C
- 否则,总和还没有溢出。
4 位二进制补码数范围为 (−8 ≤ x ≤ +7);解决后只有ii会导致溢出
- 另一种检测方法:溢出标志是进入符号位(如果有)的进位与离开符号位的进位(如果有)的异或。如果进位不等于进位,就会发生溢出
这个问题的测验