补充数据在计算机中的表示素材.ppt

* * * * 加法公式的证明 现分四种情况来证明。假设采用定点小数表示,因此证明的先决条件是 ︱x︱﹤1, ︱y︱﹤1, ︱x+y︱﹤1。 (1)x﹥0,y﹥0,则x+y﹥0。 由补码定义可得:  [x]补+[y]补=x+y=[x+y]补 (mod 2) (2)x﹥0,y﹤0,则x+y0或x+y0。   相加的两数一个为正,一个为负,因此相加结果有正、负两种可能。根据补码定义, 加法公式的证明 ∵ [x]补=x,   [y]补=2+y ∴ [x]补+[y]补=x+2+y=2+(x+y)   当x+y0时, 2 + (x+y) 2,进位2必丢失,又因(x+y)0, 故[x]补+[y]补=x+y=[x+y]补(mod 2) 当x+y0时, 2 + (x+y) 2,又因(x+y)0, 故[x]补+[y]补=2+(x+y)=[x+y]补(mod 2) (3)x0,y0,则x+y0或 x+y0。   这种情况和第2种情况一样,把x和y的位置对调即得证。 加法公式的证明 (4)x0,y0,则x+y0。 相加两数都是负数,则其和也一定是负数。 ∵ [x]补=2+x,   [y]补=2+y ∴ [x]补+[y]补=2+x+2+y=2+(2+x+y)=2+x+y 所以 [x]补+[y]补=2+(x+y)=[x+y]补 (mod 2)   至此我们证明了,在模2意义下,任意两数的补码之和等于该两数之和的补码.这是补码加法的理论基础,其结论也适用于定点整数 定点运算器 ——定点加减法 例: X=0.1011 Y=-0.0101,求 X+Y=? 解: [X]补=0. 1 0 1 1 [Y]补=1. 1 0 1 1 + 丢到 1 [X]补+[Y]补=0.0110 X+Y=0.0110 1 0. 0 1 1 0 定点运算器 ——定点加减法 例: X=-11001 ,Y=-00011,求 X+Y=? 解: [X]补=1 0 0 1 1 1 [Y]补=1 1 1 1 0 1 + 丢到 1 [X]补+[Y]补=100100 X+Y=-11100 1 1 0 0 1 0 0 定点运算器——定点加减法 补码的减法: [X]补- [Y]补=[X+(-Y)]补=[X]补+[-Y]补 (-Y)的补码称为[Y]补的机器负数,由[Y]补求[-Y]补的过程称为将[Y]补“变补”或对[Y]补求补,由[Y]补求[-Y]补的方法是,不管Y的真值为正或为负,都是将[Y]补的各位连同符号位在内全变反后,最低位加1。 定点运算器 ——定点加减法 例: X=-0.1011 Y=-0.0110,求 X-Y=? 解: [X]补=1. 0 1 0 1 [-Y]补=0. 0 1 1 0 + 11 [X-Y]补=1.1001 X-Y=-0.0111 1. 1 0 0 1 定点运算器——溢出及判别 溢出及其判别方法: 在计算机中数的表示范围是有限的,若两数进行加减运算的结果超出了给定的取值范围,就称为溢出。一旦出现溢出,必须及时处理,否则会出现错误。 可以采用两种方法来判别是否产生溢出: ①单符号位法 ②双符号位法 定点运算器——溢出及判别 采用单符号位的判断方法 两异号数相加或两同号数相减决不会产生溢出,仅当两同号数相加或两异号数相减时才有可能产生溢出。 两同号数相加时,如果结果的符号与参与运算的操作数符号相反,则表明有溢出;两异号数相减时,如果结果的符号与被减数的符号相反,则表明有溢出。 定点运算器——溢出及判别 利用进位值的判断方法 两补码数进行加减运算时,若最高数值位产生向符号的进位而符号位不产生进位时,发生正溢出,若最高数值位无进位而符号位有进位时,发生负溢出 溢出判别的逻辑表达式为: V=Cf ⊕ C0 定点运算器 ——溢出及判别 例: X=-0.100 Y=-0.101,求 X+Y=? 解: [X]补=1. 1 0 0 [Y]补=1. 0 1 1 + 丢到 两负数相加,结果应为负数,但运算结果为正数,表明有溢出发生 1 0. 1 1 1 定点运算器 ——溢出及判别 例: X=100 ,Y=-110,求 X-Y=? 解: [X]补=0 1 0 0 [-Y]补=0 1 1 0 + 一个正数减去一个负数,结果为正数,但计算结果为负数,表明有溢出发生,出错 1 0 1 0 定点运算器 ——溢出及判别 采用双符号位的判断方法 每个操作数的补码符号用两个二进制数表示,称为变形补码,用“

文档评论(0)

1亿VIP精品文档

相关文档