定点补码加减法运算_补码加减法运算(计算机组成原理).ppt

* 计算机组成原理 * * 计 算 机 组 成 原 理 * 补码加减法运算 加法规则: 先判符号位,若相同,绝对值相加,结果符号不变; 若不同,则作减法, |大| - |小|,结果符号与|大|相同。 减法规则: 两个原码表示的数相减,首先将减数符号取反,然后将被减数与符号取反后的减数按原码加法进行运算。 补码加减法运算 1.原码加/减法运算 补码加法的公式: [ x ]补+[ y ]补=[ x+y ]补 (mod 2) 在模2意义下,任意两数的补码之和等于该两数之和的补码。 这是补码加法的理论基础。 2.补码加法运算 特点:不需要事先判断符号,符号位与码值位一起参加运算。 符号位相加后若有进位,则舍去该进位数字。 补码加法的特点: (1)符号位要作为数的一部分一起参加运算; (2)在模2的意义下相加,即大于2的进位要丢掉。 其结论也适用于定点整数。 例: x=0.1001, y=0.0101, 求 x+y。 解: [x]补=0.1001, [y]补=0.0101 [x]补   0. 1 0 0 1 + [y]补   0. 0 1 0 1   [x+y ]补  0. 1 1 1 0  所以  x+y=+0.1110 例: x=+0.1011, y=-0.0101, 求 x+y。 所以  x+y=0.0110 解: [x]补=0.1011,  [y]补=1.1011 [x]补   0. 1 0 1 1 +[y]补  1. 1 0 1 1    [x+y]补 1 0. 0 1 1 0 3.补码减法 减法运算要设法化为加法完成。 补码减法运算的公式: [ x-y ]补=[ x ]补-[ y ]补=[ x ]补+[-y ]补 公式证明: 只要证明[–y]补= –[ y]补, 上式即得证。  ∵ [x+y]补=[x]补+[ y]补   (mod 2) 令 y= - x  ∴ [0]补 =[x]补 + [ - x]补  故 [-x]补=-[ x]补 (mod 2)    证明: 例: x=+0.1101, y=+0.0110, 求 x-y。 解:  [x]补=0.1101     [ y]补=0.0110 [ -y]补=1.1010    ∴ x-y=+0.0111 解: [x]补=1.0011 [y]补=1.1010 [-y]补=0.0110 [x]补 1.0 0 1 1 + [-y]补 0.0 1 1 0 [x-y]补 1.1 0 0 1 例: x= -0.1101,y= -0.0110,求x-y=? ∴x -y = 0.0111 [x]补  0.1 1 0 1 +[-y]补     1.1 0 1 0  [x-y]补 1 0.0 1 1 1 溢出及与检测方法 在定点小数机器中,数的表示范围为|x|<1。在运算过程中如出现大于1的现象,称为 “溢出”。 机器定点小数表示 上溢 下溢 1.概念 ?解:????? [x]补=0.1011? ?? [y]补=0.1001 ??????????????? ?? [x]补??? 0. 1 0 1 1 ??????????? ?? +?? [y]补??? 0. 1 0 0 1 ???????????? ? ??? [x+y]补??? 1. 0 1 0 0 例:x=+0.1011, y=+0.1001, 求x+y。???? 例:x= -0.1101, y= -0.1011, 求x+y。 解:????? [x]补=1.0011??? [y]补=1.0101 ??????????????? ?? [x]补??? 1. 0 0 1 1 ????????????? +??[y]补??? 1. 0 1 0 1 ?????????????? [x+y]补?? 0. 1 0 0 0 ???? 两个正数相加的结果成为负数,这显然是错误的。?? ????两个负数相加的结果成为正数,这同样是错误的。 发生错误的原因,是因为运算结果超出编码所能表示的数字大小。 两个正数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值