第六章运算方法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 计算机的运算方法 6.1 无符号数和有符号数 补码的溢出判断与检测方法 1.溢出的产生 在补码运算中,若两个正数相加,而结果为负;两个负数相加,而结果为正,则结果出错。 例5:设:X=1011B=11D,Y=111B=7D 则 [X]补=0,1011,[Y]补=0,0111 0,1 0 1 1 [X]补 + 0,0 1 1 1 [Y]补 1,0 0 1 0 [X+Y]补 ∴[X+Y]补=1,0010 X+Y=-1110B=-14D 两正数相加结果为-14D,显然是错误的。 1.溢出的产生(续) 例6:设:X=-1011B=-11D,Y=-111B=-7D 则 [X]补=1,0101 [Y]补=1,1001 1,0 1 0 1 [X]补 + 1,1 0 0 1 [Y]补 0,1 1 1 0 [X+Y]补 ∴[X+Y]补=0,1110 X+Y=1110B=14D 两负数相加结果为14D,显然也是错误的。 1.溢出的产生(续) 字长为n+1位的定点整数(其中一位为符号位),采用补码表示,当运算结果大于2n-1或小于-2n时,就产生溢出。 设参加运算的两数为X、Y,做加法运算。 若X、Y异号,实际上是做两数相减,所以不会溢出。 若X、Y同号,运算结果为正且大于所能表示的最大正数;或运算结果为负且小于所能表示的最小负数(绝对值最大的负数)时,产生溢出。将两正数相加产生的溢出称为正溢;反之,两负数相加产生的溢出称为负溢。 2.溢出检测方法 采用变形补码(双符号位补码) 在双符号位的情况下,把左边的符号位Ss1叫做真符,两个符号位都作为数的一部分参加运算。这种编码又称为变形补码。 双符号位的含义如下: Ss1Ss2=00 结果为正数,无溢出 Ss1Ss2=01 结果正溢 Ss1Ss2=10 结果负溢 Ss1Ss2=11 结果为负数,无溢出 当两位符号位的值不一致时,表明产生溢出,溢出条件为 溢出=Ss1⊕Ss2 例5:设:X=1011B=11D,Y=111B=7D 则 [X]补=0,1011,[Y]补=0,0111 0 0,1 0 1 1 [X]补 + 0 0,0 1 1 1 [Y]补 0 1,0 0 1 0 [X+Y]补 ∴[X+Y]补=01,0010 ∴ 结果发生正溢出 例6:设:X=-1011B=-11D,Y=-111B=-7D 则 [X]补=1,0101 [Y]补=1,1001 1 1,0 1 0 1 [X]补 + 1 1,1 0 0 1 [Y]补 1 0,1 1 1 0 [X+Y]补 ∴[X+Y]补=10,1110 ∴结果发生了负溢出 6.2 数的定点表示和浮点表示 6.3 定 点 运 算 6.4 浮点四则运算 6.5 算术逻辑单元 4. 原码乘法 (1) 原码一位乘运算规则 以小数为例 设[x]原 = x0.x1x2 xn … [y]原 = y0.y1y2 yn … = (x0 y0). x*y* [x ? y]原 = (x0 y0).(0.x1x2 xn)(0.y1y2 yn) … … 式中 x*= 0.x1x2 xn 为 x 的绝对值 … y*= 0.y1y2 yn 为 y 的绝对值 … 乘积的符号位单独处理 x0 y0 数值部分为绝对值相乘 x* ? y* 6.3 (2) 原码一位乘递推公式 x*? y* = x*(0.y1y2 yn) … = x*(y12-1+y22-2+ + yn2-n) … = 2-1(y1x*+2-1(y2x*+ 2-1(ynx

文档评论(0)

139****6621 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档