第6章 复杂算术操作.ppt

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

第6章 复杂算术操作 6.1 单精度定点乘法 6.2 单精度定点除法 6.3 浮点操作 6.1 单精度定点乘法 1、原码一位乘法 ① 人工算法与机器算法的同异性 在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。 设n位被乘数和乘数用定点小数表示(定点整数也同样适用) 被乘数 [x]原=xf .xn-1…x1x0 乘数 [y]原=yf .yn-1…y1y0 则乘积 [z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0)(2.26) 式中,xf为被乘数符号,yf为乘数符号。 6.1 单精度定点乘法 1、原码一位乘法 ① 人工算法与机器算法的同异性 例. 0.1101×1.1011 (1)手算 0.1101 × 0.1011 1101 1101 0000 1101 0上符号: 16.1 单精度定点乘法 1、原码一位乘法 (2)分步乘法 每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。 设置寄存器: A:存放部分积累加和、乘积高位 B:存放被乘数 C:存放乘数、乘积低位 设置初值: A = 00.0000 B = X = 00.1101 C = Y = 00.1011 6.1 单精度定点乘法 2、补码一位乘法 有的机器为方便加减法运算,数据以补码形式存放。如采用原码乘法,则在相乘之前,要将负数还原成原码形式,相乘之后,如乘积为负数,又要将其转换成补码形式,增加了操作步骤。为此,有不少计算机直接采用补码相乘。为了得出补码乘法规律,先讨论补码与真值的转换关系和补码右移的性质。 6.1 单精度定点乘法 2、补码一位乘法 ①算法分析 X补 = X0.X1X2……Xn Y补 = Y0.Y1Y2……Yn (1)Y为正:Y补 = 0.Y1Y2……Yn (XY)补 = X补(0.Y1Y2……Yn) (2)Y为负:Y补 = 1.Y1Y2……Yn (XY)补 = X补(0.Y1Y2……Yn)+(-X)补 (3)Y符号任意: (XY)补 = X补(0.Y1Y2……Yn)+(-X)补Y0 6.1 单精度定点乘法 2、补码一位乘法 ①算法分析(证明) X补 = X0.X1X2……Xn, Y补 = Y0.Y1Y2……Yn (1)Y为正:Y补 = 0.Y1Y2……Yn 证明:(XY)补 = X补(0.Y1Y2……Yn) 因为 X补 = 2+X = 2n+1+X mod 2 Y补 = Y 所以 X补·Y补 = 2n+1 ·Y +X·Y = 2+X·Y mod 2 = (X·Y)补 因此 (XY)补 = X补·Y补 = X补·Y = X补(0.Y1Y2……Yn) 6.1 单精度定点乘法 2、补码一位乘法 ①算法分析(证明) X补 = X0.X1X2……Xn, Y补 = Y0.Y1Y2……Yn (2)Y为负:Y补 = 1.Y1Y2……Yn 证明:(XY)补 = X补(0.Y1Y2……Yn) +(-X)补 因为 X补 = X0.X1X2……Xn Y补 = 1.Y1Y2……Yn = 2+Y 所以 Y = Y补-2 =1.Y1Y2……Yn -2 = 0.Y1Y2……Yn -1 X·Y = X(0.Y1Y2……Yn )-X (X·Y)补 = [X(0.Y1Y2……Yn )-X]补 = [X(0.Y1Y2……Yn )]补+(–X)补 因为 0.Y1Y2……Yn >0, 所以 [X(0.Y1Y2……Yn )]补 = X补(0.Y1Y2……Yn) 因此 (XY)补 = X补(0.Y1Y2……Yn) +(-X)补 得证 6.1 单精度定点乘法 2、补码一位乘法 ①算法分析(证明) X补 = X0.X1X2……Xn, Y补 = Y0.Y1Y2……Yn (3)Y为任意 证明:(XY)补 = X补(0.Y1Y2……Yn) +(-X)补·Y0 6.1 单精度定点乘法 2、补码一位乘法 例1:设初始值X=-0.1101,Y=0.1011 求:[X·Y]补 解:[X]补=11.0011,[Y]补=0.1011 6.

文档评论(0)

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

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

1亿VIP精品文档

相关文档