计算机组成原理第2章(2.2-姜-19-春-版5).ppt

计算机组成原理第2章(2.2-姜-19-春-版5).ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2. 2 定点加法、减法运算 一、补码加法 公式 定点小数 [x+y]补 = [x]补+[y]补 (mod 2) 定点整数 [x+y]补 = [x]补+[y]补 (mod 2n+1) 回忆定义 证明 * 例8 已知x=1001, y=0101,用补码加法求x+y。 解: [x]补=01001, [y]补=00101 (设n=4) [x]补   01001  +[y]补   00101  [x+y]补  01110  真值 x+y=+1110 2. 举例 * 例9 x=+1011, y=-0101,求x+y。 解: [x]补=01011,  [y]补=11011 (设n=4) [x]补   01011 +[y]补  11011  [x+y]补 100110 (=00110 (mod 25)) 所以 x+y=+0110 * 说明: 由以上两例看出补码加法的特点:①符号位要作为数的一部分一起参加运算;②要在模2n+1 (或模2)的意义下相加,即超过2n+1 (或2)的进位要丢掉。 机器实现:符号位产生的进位自然丢失即可。 * 二、补码减法 公式 [x-y]补= [x]补-[y]补= [x]补+[-y]补 由[y]补求[-y]补的法则: 小数: [-y]补=﹁[y]补+2-n 整数: [-y]补=﹁[y]补 +1 其中,符号﹁表示对[y]补作包括符号位在内的求反操作,2-n表示最末位的1。 * 例10 已知x1=-1110,x2=+1101, 求:[x1]补,[-x1]补,[x2]补,[-x2]补。 解: [x1]补=10010 [-x1]补=﹁[x1]补+1=01101+00001=01110 [x2]补=01101 [-x2]补=﹁[x2]补+1=10010+00001=10011 2. 举例 * 例11 x=+0.1101,y=+0.0110,求x-y。 解: [x]补=0.1101 [y]补=0.0110, [-y]补=1.1010 [x]补    0.1101 +[-y]补  1.1010  [x-y]补    10.0111 所以    x-y=+0.0111 * 三、溢出概念与检测方法 溢出定义 在定点整数机器中,数的表示范围为|x|(2n-1)。在运算过程中若出现大于(2n-1)的现象,则称为“溢出”。在定点机中,正常情况下溢出是不允许的。 检测方法 (1)双符号位法 (2)单符号位法 * x=+1011, y=+1001,求x+y。 例12 [x]补=01011 ,[y]补=01001  [x]补   01011 + [y]补   01001 [x+y]补  10100 两个正数相加的结果成为负数,显然为错。 解: * 例13 x=-0.1101, y=-0.1011,求x+y。 [x]补=1.0011  [y]补=1.0101       [x]补  1.0011 + [y]补  1.0101 [x+y]补   0.1000 解: 两个负数相加的结果成为正数,同样出错误。 * 上两例均发生错误,原因:运算结果产生了溢出。 上溢:两个正数相加,结果大于机器所能表示的最大正数。 下溢:两个负数相加,结果小于机器所能表示的最小负数。 如何判断? * “双符号位”检测法 采用双符号位补码,也称为“变形补码” 。 (1)变形补码定义及运算公式 定点小数: [x]补=4+x (mod 4) [x]补+[y]补=[x+y]补 (mod 4) 定点整数: [x]补=2n+2+x (mod 2n+2) [x]补+[y]补=[x+y]补 (mod 2n+2) * (2)说明: 符号位为两位。 若1x0,则符号位为“00”; 若0x-1,则符号位为“11”。 两个符号位都看作数码一样参加运算;两数进行以4(或2n+2 )为模的加法,即最高符号位上产生的进位要丢掉。 若两个数相加后,其结果的符号位出现“01”或“10”两种组合时,则表示发生溢出; “01”表示上溢, “10”表示下溢。 最高符号位始终表示结果的正确符号。 * 例14 x=+0.1100, y=+0.1000,求x+y。 解: [x]补=00.1100, [y]补=00.1000 [x]补   00.1100 + [y]补   00.

文档评论(0)

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

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

1亿VIP精品文档

相关文档