第五讲 与定点运算(除法) .ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五讲 与定点运算(除法)

第五讲 定点运算(除法) 本讲主要内容 * * 原码一位除法 补码一位除法 并行除法器 一、分析笔算除法 x = – 0.1011 y = 0.1101 求 x÷y 0 . 1 0 1 1 0 . 1 1 0 1 ⌒ 0 . 0 1 1 0 1 0 . 0 1 0 0 1 0 . 0 0 1 1 0 1 0 . 0 0 0 1 0 1 0 . 0 0 0 0 1 1 0 1 0 . 0 0 0 0 0 1 1 1 1 商符单独处理 心算上商 余数不动低位补“0” 减右移一位的除数 上商位置不固定 x÷y = – 0. 1 1 0 1 余数 0. 0 0 0 0 0 1 1 1 商符心算求得 0 0 . 1 0 1 0 0 0 ? ? ? 二.机器运算与手算的不同 (1) 在计算机中,小数点是固定的,不能简单地采用手算的办法。 为便于机器操作, 除数Y固定不变, 被除数和余数进行左移 (相当于乘2) 手工算法的改进算法: 结果与手算相同,但余数不是真正的余数,多乘了2n,故正确的余数应为2-n×rn,即:000.0001 第四次余数r4 ? 01.0010 被除数左移一位,2x>y,商1 + 11.0101 减y,即+[-y]补 00.0111 第一次余数r1 ? 00.1110 r1左移一位 ,2r1>y,商1 + 11.0101 减y 00.0011 第二次余数r2 ? 00.0110 r2左移一位 ,2r2<y,商0 ? 00.1100 r3左移一位 ,2r3=4r2>y,商1 + 11.0101 减y 00.1011 00.1001 x<y,商0 00. 1 1 0 1 x=0.1001, y=0.1011,[-y]补=1.0101 (2) 机器不会心算,必须先作减法,若余数为正, 才知道够减;若 余数为负, 才知道不够减。不够减时必须恢复原来的余数, 以便再继续往下运算。这种方法称为恢复余数法。 要恢复原来的余数, 只要当前的余数加上除数即可。 但由于 恢复余数, 使除法进行过程的步数不固定, 因此控 制比较 复杂。 实际中常用不恢复余数法,又称加减交替法。其特点是 运算过程中如出现不够减,则不必恢复余数,根据余数符号, 可以继续往下运算,因此步数固定,控制简单。 机器运算与手算的不同 笔算除法和机器除法的比较总结 笔算除法 机器除法 商符单独处理 心算上商 符号位异或形成 | x | – | y | > 0 上商 1 | x | – | y | < 0 上商 0 余数 不动 低位补“0” 减右移一位 的除数 2 倍字长加法器 上商位置 不固定 余数 左移一位 低位补“0” 减 除数 1 倍字长加法器 在寄存器 最末位上商 三. 原码除法 以小数为例 [ x ]原 = x0. x1x2 xn … [ y ]原 = y0. y1y2 yn … 式中 x* = 0. x1x2 xn 为 x 的绝对值 y* = 0. y1y2 yn 为 y 的绝对值 … … 数值部分为绝对值相除 x* y* 被除数不等于 0 除数不能为 0 小数定点除法 x* < y* 整数定点除法 x* > y* 商的符号位单独处理 x0 y0 [ ]原 = (x0 y0). x y x* y* 约定 被除数减除数,够减时,商1;不够减时商0。 由于商0时若不够减,即不能作减法,但现在在判断是否商0时,已经减了除数,为了下次能正确运算,必须把已减掉的除数加回去恢复余数。这就是“恢复余数法”。 (1) 恢复余数法 0 . 1 0 1 1 1 . 0 0 1 1 1 . 0 0 1 1 1 . 0 0 1 1 0 . 0 0 0 0 +[– y*]补 0 1 . 1 1 1 0 余数为负,上商 0 0 . 1 1 0 1 恢复余数 0 0 . 1 0 0 1 余数为正,上商 1 +[– y*]补 1 . 0 1 1 0 0 1 1 . 0 0 1 0 0 1 1 +[–y*]补 解: 被除数(余数) 商 说 明 [x]原 = 1

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档