Lecture5运算器-定点加减法研究.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
思考;思考;定点数加减运算;课程结构;主要内容;;① 补码加法的运算公式为: [x+y]补=[x]补+[y]补 ② 补码减法的运算公式为: [x-y]补= [x]补+[-y]补 ③ 加减法运算规则: ·参加运算的数都用补码表示。 ·数据的符号与数据一样参加运算。 ·求差时将减数求补,用求和代替求差。 ·运算结果为补码。如果符号位为0,表明运算结果为正; 如果符号位为1,则表明运算结果为负。 ·符号位的进位为模值,应该丢掉。;① 补码加法的运算公式为:[x+y]补=[x]补+[y]补 证明:下面以模为2定义的补码为例,分几种情况来证明这个公式。 (1) ?? x0, y0, 则x+y 0 由于参加运算的数都为正数,故运算结果也一定为正数。又由于正数的补码与真值有相同的表示形式,即 [x] 补=x [y] 补=y 所以 [x]补+[y]补=x+y=[x+y] 补 (2) x0, y0, 则x+y 0或x+y 0 当参加运算的数一个为正数,一个为负数时,则运算结果有正、负两种可能。 根据补码定义有: [x] 补=x [y] 补=2+y 所 以 [x] 补+[y] 补= 2+(x+y) 当x+y0 时, 2 +(x+y)2,2为符号位进位,即模丢掉 。 又因为(x+y)0,所以 [x] 补+[y] 补=x+y =[x+y ] 补 当x+y0 时,2+(x+y) 2,又因为(x+y) 0,所以 [x] 补+[y] 补= 2+x+y =[x+y ] 补 这里应将(x+y)看成一个整体。;?(3)?x0, y0, 则x+y 0 或 x+y 0 这种情况和第②种情况类似,即把x与y的位置对调即可得证。 (4)??? x0, y0, 则x+y 0 由于参加运算的数都为负数,故运算结果也一定为负数。又由于负数的补码为: [x] 补= 2+x [y] 补= 2+ y 所以 [x]补+[y] 补= 2+(2+x+y) 由于x+y为负数,其绝对值又小于1,那么(2 + x + y)就一定是小于2而大于1的数,所以上式等号右边的2必然丢掉,又因为x+y0,所以 [x]补+[y]补= (2+x+y)= 2+(x+y)=[x+y ] 补 至此证明了在模为2的定义下,任意两个数的补码之和等于该两个数之和的补码。 这是补码加法的理论基础,其结论也适用于定点整数。 ;② 补码减法的运算公式为: [x]补-[y]补= [x]补+[-y] 补 证明: 因为 [x]补+[y]补=[x+y]补 令x = -y 代入, 则有 [-y]补+[y]补=[-y+y]补 = [0]补 = 0 所以 -[y]补=[-y]补 所以: [x]补-[y]补= [x]补+(-[y]补)=[x]补+[-y] 补 ; 不难发现,只要能通过[y] 补求得[-y] 补,就可以将补码减法运算化为补码加法运算。 已知[y] 补,求[-y] 补的法规是:对[y] 补各位(包括符号位)取反、末位加1,就可以得到[-y] 补。 例如:已知[y] 补=1.1010,则[-y] 补=0.0110; 又如:已知[y] 补=0.1110,则[-y] 补=1.0010; ;;;;;主要内容;溢出判断;溢出判断;溢出判断;溢出判断;; 例,X=+0.1011,Y=+0.1101 [X]补 0.1011 + [Y]补 0.1101 1.1000 若最高数值位向符号位的进位为1,符号位产生的进位为0,表示有溢出。 又如,X=-0.1011,Y=-0.1100 [X]补 1.0101 + [Y]补 1.0100 0.1001 若最高数值位向符号位的进位为0,符号位产生的进位为1,表示有溢出。;3、变形补码检测法(双符号位) 方法:每个操作数在运算时都采用两个符号位,正数用00表示,负数用11表示,两个符号位与码值一起参加运算;若运算结果的两个符号位的代码不一致时表示溢出,两个符号位代码一致时,没有溢出。 设左边第一位为第一符号位Sf1,相邻的为第二符号位Sf2,则 溢出逻辑表达式: V=Sf1⊕Sf2 若V=0无溢出;V=1有溢出。;主要内容;基

文档评论(0)

贪玩蓝月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档