溢出判断的三种方法

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
补码加减法运算——溢出判断的三种方法
溢出: 运算结果超出机器数所能表示的范围。
★ 两个异号数相加或两个同号数相减,不会溢出。 ★ 两个同号数相加或两个异号数相减,有可能溢出。
1/6
1
① 11+7=18 ② -11-7=-18 ③ 9+3=12
01011
10101
01001
Leabharlann Baidu
+ 0011 1
+ 1100 1
6/6
6
★ “变形补码” ( 双符号位是模 4补码) ~采用多符号位的补码。
★ 运算结果的双符号位可能是: 00 :结果为正,无溢出
01 :正溢(大于机器所能表示的最大正数)
10 :负溢(小于机器所能表示的最小负数)
11 :结果为负,无溢出
7/6
7
● 正+正 ? 负 正
● 负+负 ?
3/6
3
★ 方法二
溢出条件= C f ? C
● C与Cf 不相同,则溢出。
4/6
4
★ 方法三( 常用)
溢出条件= fS1 fS2 ? fS1 fS 2 ? fS1 ? fS2
● 采用双符号位f S1f S2。正数为00,负数为11。 ● 当结果的两个符号位f S1和f S2不相同时,为溢出。
+ 0001 1
正溢(1上0 溢0 1) 0
负1溢(0 下1 1溢1) 0
无0溢1出1 0 0
★ 设:f A:操作数 A的符号位
f
B:操作数 B的符号位
f
S:结果 S的符号位
C 进位
f : f A、f B参与运算所产生的
2/6
2
★ 方法一
溢出条件= f A f B f S ? f A f B f S
相关文档
最新文档