第六章_计算机的运算方法讲解.ppt

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

第6章 计算机的运算方法 6.1 无符号数和有符号数 6.2 数的定点表示和浮点表示 6.3 定 点 运 算 6.4 浮点四则运算 6.5 算术逻辑单元 (4) 原码两位乘 原码乘 符号位 和 数值位 部分 分开运算 两位乘 每次用 乘数的 2 位判断 原部分积 是否加 和 如何加 被乘数 1 1 1 0 0 1 0 0 加 “0” 2 加 1 倍的被乘数 2 加 2 倍的被乘数 2 加 3 倍的被乘数 2 3 ? 先 减 1 倍 的被乘数 再 加 4 倍 的被乘数 4 – 1 3 100 – 01 11 6.3 新的部分积 乘数yn-1 yn (5) 原码两位乘运算规则 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 操 作 内 容 标志位 Cj 乘数判断位 yn-1yn z 2, y* 2, Cj 保持“0” z 2, y* 2, Cj 保持“1” z–x* 2, y* 2, Cj 保持“1” z+2x* 2, y* 2, Cj 保持“0” z+x* 2, y* 2, Cj 保持“0” 共有操作 +x* +2x* –x* 2 实际操作 +[x*]补 +[2x*]补 +[–x* ]补 2 补码移 z–x* 2, y* 2, Cj 置“1” z+2x* 2, y* 2, Cj 置“0” 6.3 z+x* 2, y* 2, Cj 置“0” 例6.22 已知 x = 0.111111 y = – 0.111001 求[x·y]原 0 0 0 . 0 0 0 0 0 0 0 0 0 . 1 1 1 1 1 1 0 0 0 . 1 1 1 1 1 1 0 0 . 1 1 1 0 0 1 0 初态 z0 = 0 + x*, Cj = 0 0 1 0 . 0 0 1 1 0 1 1 1 0 0 0 . 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 . 1 0 0 1 0 0 0 1 1 1 0 0 1 . 1 1 1 1 1 0 + 2x*,Cj = 0 1 1 1 . 0 0 0 0 0 1 – x*, Cj = 1 0 0 0 . 1 1 1 1 1 1 + x*, Cj = 0 0 0 0 0 . 0 0 1 1 1 1 1 1 0 0 1 1 1 0 2 0 0 0 0 . 1 0 0 0 1 1 0 1 1 1 0 0 1 1 2 1 1 1 1 . 1 1 1 0 0 1 0 0 0 1 1 1 0 0 2 Cj 部 分 积 乘 数 说 明 补码右移 补码右移 6.3 解: 数值部分的运算 补码右移 + + + + ② 数值部分的运算 ① 乘积的符号位 x0 y0 = 0 1 = 1 x*? y* = 0. 1 1 1 0 0 0 0 0 0 1 1 1 则 [x ? y]原 = 1. 1 1 1 0 0 0 0 0 0 1 1 1 例6.22 结果 特点 绝对值的补码运算 算术移位 用移位的次数判断乘法是否结束 6.3 (6) 原码两位乘和原码一位乘比较 符号位 操作数 移位 移位次数 最多加法次数 x0 y0 x0 y0 绝对值 绝对值的补码 逻辑右移 算术右移 n n n 2 (n为偶数) n 2 +1(n为偶数) 思考 n 为奇数时,原码两位乘 移 ?次 最多加 ?次 原码一位乘 原码两位乘 6.3 5. 补码乘法 设 被乘数 乘数 [x]补 = x0. x1x2 xn … [y]补 = y0. y1y2 yn … ① 被乘数任意,乘数为正 同原码乘 但 加 和 移位 按 补码规则 运算 乘积的符号自然形成 ② 被乘数任意,乘数为负 乘数[y]补,去掉符号位,操作同 ① 最后 加[–x]补,校正 (1) 补码一位乘运算规则 6.3 以小数为例 ③ Booth 算法 (被乘数、乘数符号任意) 设[x]补 = x0.x1x2 xn [y]补 = y0.y1y2 yn … … [x · y]补 = [x]补( 0.y1 yn ) – [x]补 · y0 … = [x]补(y1 2-1+y22-2+ +yn2-n) – [x]补

文档评论(0)

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

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

1亿VIP精品文档

相关文档