Skip to content

2014年 408 计算机组成原理 第 13 题

计算机组成原理2014年选择题2分

题目

若 x=103,y=-25,则下列表达式采用 8 位定点补码运算实现时,会发生溢出的是( )。

错因

A

把"两个数运算"和"溢出"直接挂钩,没看符号。,一正一负相加,结果绝对值变小,绝对不会溢出(异号相加的结果一定夹在两个加数之间)。

B

,恰好等于 8 位补码下界。误以为"碰到 −128 就是溢出"。实际上 8 位补码可表示的范围是 是合法值(机器码 10000000),不算溢出。

D

,结果在 内,没有溢出。可能因为看到"两个负号"心理上觉得"算大值"而误判;其实 ,整体是异号相加,结果反而变小。

总解析

8 位补码可表示的整数范围

只要运算结果落在此区间内,就没溢出;超过 或低于 才算溢出。异号相加(同号相减)一定不溢出——结果落在两数之间;同号相加(异号相减)才有可能溢出

逐项算真值并判定

选项表达式数学结果 内?溢出?
A
B✓(恰为下界)
C✗(128 > 127)
D

C 项验证,超过最大正数

机器执行 x - y 等价于 x + (-y) = 103 + 25:两个正数同号相加,超出可表示范围 → 正溢出

最终答案是 C(x-y)

判定口诀

  • 同号相加 / 异号相减:可能溢出,要算
  • 异号相加 / 同号相减:永不溢出,可直接排除
  • 边界值 是合法值,不算溢出(容易在 B 这种题面栽跟头)

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数