原码反码补码

共 19 题
#

1. 为什么 8 位补码可表示 -128 但无法表示 +128?结合最高位位权说明?

A [-127, 127]
B [-128, 127] ✓ 正确答案
C [-128, 128]
D [-255, 255]
#

2. 原码 00000000 与 10000000 都表示 0,这给减法运算带来什么问题?补码如何解决?

A 原码中 0 只有一种表示
B 补码中 0 只有一种表示 ✓ 正确答案
C 补码中 0 有两种表示
D 原码中 0 不存在
#

3. 将 -1 用 8 位补码表示,并解释为何全 1 是补码表示 -1 的标准形式?

A 11111111 ✓ 正确答案
B 10000001
C 11111110
D 00000001
#

4. 把十进制 -42 用 8 位原码、反码、补码分别表示,并比较三者的位模式?

A 11010110 ✓ 正确答案
B 10101010
C 11010101
D 11010100
#

5. 给定 8 位原码 10110101,求其代表的十进制值,并写出其反码与补码?

A -43
B -37
C 53
D -53 ✓ 正确答案
#

6. 在给出原码/反码/补码定义的基础上,说明为什么计算机用补码表示有符号数?

A 补码 0 唯一且减法可转加法 ✓ 正确答案
B 补码表示范围比原码小
C 补码不涉及负数
D 补码是十进制编码
#

7. 从模 2^8 运算角度证明补码加法等价于无符号模加,并解释 -3 的补码为何是 253、与 5 相加得到 2 的位运算过程?

A 255
B 251
C 253 ✓ 正确答案
D 252
#

8. 给定 8 位补码 11110000,求其代表的十进制值,并验证按位取反加 1 后等于 0?

A -16 ✓ 正确答案
B -15
C 16
D -240
#

9. 计算 8 位补码 10000000 与自身的加法结果,按补码定义解释溢出?

A 结果 128,无溢出
B 结果 -256,无溢出
C 结果 0,产生溢出 ✓ 正确答案
D 结果 0,无溢出
#

10. 原码与反码在对 0 的表示上各有什么问题?补码为何消除这一歧义?

A 补码只有正数
B 补码禁止表示 0
C 补码用符号位区分 0
D 取反加一使 -0 与 +0 重合 ✓ 正确答案
#

11. 补码的运算性质包括减法转加法与溢出判定(双符号位)两个方面?

A 负溢出
B 正溢出 ✓ 正确答案
C 正常正数
D 正常负数
#

12. 将 8 位补码 0x80(-128)符号扩展到 16 位得 0xFF80,解释为什么高位全填 1 仍表示同一个负数?

A 变为 0
B 变为 -32768
C 变为 128
D 仍为 -128 ✓ 正确答案
#

13. 证明按位取反加一的自反性,即对任意 8 位补码 x,~x+1 得到 -x 且再取一次仍回到 x?

A x
B -x ✓ 正确答案
C 0
D -1
#

14. 在 8 位补码下计算 01111111 + 00000001,结果是多少?哪种标志位会被置位?

A 10000000,置位 OF(溢出) ✓ 正确答案
B 10000000,置位 CF
C 00000000,无标志
D 11111111,置位 ZF
#

15. 补码边界处 INT_MIN 与 INT_MAX 的位模式与溢出行为是怎样的?

A 0x00000000
B 0x7FFFFFFF
C 0xFFFFFFFF
D 0x80000000 ✓ 正确答案
#

16. 位宽与符号扩展中,有符号/无符号隐式转换的陷阱有哪些?

A true
B false ✓ 正确答案
C 未定义
D 编译错误
#

17. 浮点数的 IEEE 754 表示中符号、指数与尾数如何划分?

A 1 位
B 11 位
C 23 位
D 8 位 ✓ 正确答案
#

18. 移码与阶码中,浮点指数为什么用偏置表示?

A 255
B 1023
C 128
D 127 ✓ 正确答案
#

19. 8 位补码表示范围为何是 [-128, 127] 而非 [-127, 127],正数与负数的个数为何不对称?

A 255
B 127
C 256
D 128 ✓ 正确答案