- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五讲定点运算﹝除法﹞
第五讲 定点运算(除法) 本讲主要内容 * * 原码一位除法 补码一位除法 并行除法器 一、分析笔算除法 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 被除数左移一位,2xy,商1 + 11.0101 减y,即+[-y]补 00.0111 第一次余数r1 ? 00.1110 r1左移一位 ,2r1y,商1 + 11.0101 减y 00.0011 第二次余数r2 ? 00.0110 r2左移一位 ,2r2y,商0 ? 00.1100 r3左移一位 ,2r3=4r2y,商1 + 11.0101 减y 00.1011 00.1001 xy,商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.1011
文档评论(0)