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