当前位置:文档之家› 溢出判断的三种方法

溢出判断的三种方法


+ 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
● 正+正 ? 负 正
● 负+负 ?

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不相同时,为溢出。
补码加减法运算——溢出判断的三种方法
溢出: 运算结果超出机器数所能表示的范围。
★ 两个异号数相加或两个同号数相减,不会溢出。 ★ 两个同号数相加或两个异号数相减,有可能溢出。
1/6
1
① 11+7=18 ② -11-7=-18 ③ 9+3=12
01011
10101
01001
+ 0011 1
+ 1100 1
6/6
6
★ “变形补码” ( 双符号位是模 4补码) ~采用多符号位的补码。
★ 运算结果的双符号位可能是: 00 :结果为正,无溢出
01 :正溢(大于机器所能表示的最大正数)
10 :负溢(小于机器所能表示的最小负数)
11 :结果为负,无溢出
7/6
7
相关主题