- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3讲 二进制乘法 加减法运算 原码加减法比较复杂,需要事先判断数的符号,然后决定做加法还是做减法运算。 补码的加减法运算比较简单,采用补码加减法运算,可将“正数加负数”的操作,转化为“正数加正数”的操作。一般计算机采取补码进行加减法运算。 因减法运算可看作被减数加上一个减数的负值,即A-B=A+(-B),故在此将机器中的减法运算和加法运算合在一起讨论。 定点加减运算 补码加减法 数用补码表示,符号位参加运算。 实际操作能否只取决于操作码? 结果需不需修正? 如何将减法转换为加法? 1 二进制乘法运算 要求: 掌握原码一位乘法 理解补码一位乘法 0 移位操作 一、 定点数一位乘法 不同码制机器数算术移位后的空位添补规则 对于负数,三种机器数移位后符号位均不变。 如果负数的原码左移时,高位丢1,结果出错;低位丢1,影响精度。 如果负数的补码左移时,高位丢0,结果出错;低位丢1,影响精度。 如果负数的反码左移时,高位丢0,结果出错;低位丢0,影响精度。 习题 在进行原码乘法时,乘积的符号位是由被乘数的符号位和乘数的符号位通过__(55)__运算来获得的。(55)A.或 B.与 C.异或 D.分别取反后再进行或 补码一位乘运算规则——校正法 当乘数y为正时,可按类似原码乘法的规则进行运算。 当乘数为负时,把乘数的补码[y]补去掉符号位,看成一个正数与[x]补相乘,然后加上[-x]补进行校正。 按补码进行运算 按补码规则移位:右移补1,第二符号位一起移 “乘数的补码[y]补去掉符号位,当成一个正数与[x]补相乘”——y仍然是补码 符号位参与运算,自动生成——与原码的不同之处 考虑到运算时可能出现绝对值大于1的情形(但此刻并不是溢出),故部分积和被乘数取双符号位。 例 已知:[x]补=1.0101,[y]补=0.1101,求:[x·y]补。 解:因为乘数y0,不用校正。 2 补码一位乘法 1.算法分析 X补 = X0.X1X2……Xn (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 符号位 故乘积[x·y]补=1 →1位,得[z2]补, 乘数同时→1位 Y2=1,+[x]补 0111 11.1010 11.1101 + 11.0101 →1位,得[z4]补 0001 10.1110 11.0111 →1位,得[z3]补,乘数同时→1位 Y1=1,+[x]补 0011 11.0010 11.1001 + 11.0101 →1位,得[z1]补,乘数同时→1位 Y3=0,加[0]补 1110 11.0101 11.1010 + 00.0000 初值[z0]补=0 Y4=1,+[x]补 1101 00.0000 + 11.0101 说明 乘数 部分积 注意:符号位参加运算! (4)展开为部分积的累加和形式: [XY]补 = X补(0.Y1Y2……Yn)+[-X]补Y0 = X补(0.Y1Y2……Yn)-X补Y0 = X补(-Y0+2 Y1+2 Y2+……+2 Yn) -1 -2 -n = X补 -Y0+(Y1-2 Y1)+(2 Y2-2 Y2)+…… -1 -1 -2 -(n-1) -n +(2 Yn-2 Yn) = X补 (Y1-Y0)+2 (Y2-Y1)+2 (Y3-Y2)+…… -1 -2 +2 (0 -Yn) -n +2 (0 -Yn) -n Yn+1 = X补 (Y1-Y0)+2 (Y2-Y1)+2 (Y3-Y2)+…… -1 -2 +2 (0 -Yn) -n Yn+1 比较法:用相邻两位乘数比较的结果决定 +X补、-X补或+0。 2.比较法算法 Yn(高位) Yn+1(低位) 操作(A补为部分积累加和) 0 0 0 1 1 0 1 1 1/2A补 1/2(A补+X补) 1/2(A补-X补) 1/2A补 ( 0 ) ( 1 ) (-1 ) ( 0 ) 3.运算实例 X=-0.1101,Y=-0
文档评论(0)