软件工程导论04n溢出判断的三种方法(精)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
00:结果为正,无溢出 01:正溢(大于机器所能表示的最大正数) 10:负溢(小于机器所能表示的最小负数) 11:结果为负,无溢出
6/6 6
3/6
3
★ 方法二
溢出条件= Cf C

C与Cf不相同,则溢出。
4/6
4
★ 方法三(常用)
溢出条件=f S1 f S 2 f S1 f S 2 f S1 f S 2

采用双符号位fS1fS2。正数为00,负数为11。 当结果的两个符号位fS1和fS2不相同时,为溢出。
●Biblioteka Baidu
5/6
5
★ “变形补码”(双符号位是模4补码) ~采用多符号位的补码。 ★ 运算结果的双符号位可能是:
补码加减法运算——溢出判断的三种方法
溢出:运算结果超出机器数所能表示的范围。
★ 两个异号数相加或两个同号数相减,不会溢出。 ★ 两个同号数相加或两个异号数相减,有可能溢出。
1/6
1
① 11+7=18 01011 + 00111 10010
正溢(上溢)
② -11-7=-18 10101 + 11001 1 01110
负溢(下溢)
③ 9+3=12 01001 + 00011 01100
无溢出
★ 设:fA:操作数A的符号位
fB:操作数B的符号位 fS:结果S的符号位
Cf: fA、fB参与运算所产生的进位
2/6 2
★ 方法一
溢出条件=f A f B f S f A f B f S

正+正 负

负+负 正
相关文档
最新文档