第3章(二)计算机组成原理.ppt

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

第3章 计算机中信息的表示和数值运算 3.3 定点数的运算 3.3.1 移位运算 3.3.2 补码加减运算与溢出 3.3.3 乘法运算 3.3.4 除法运算 3.3.1 移位运算 移位运算在计算机中有着非常重要的意义。例如在计算机中没有乘、除法运算的实现时,可以用移位与加、减法运算相结合的办法进行处理。 对定点表示的数据,计算机中小数点的位置是事先约定的,因此,二进制表示的机器数在相对于小数点作n位左移或右移时,其实质就是对该数乘以或除以2n。由于计算机中机器数的字长往往是固定的,当机器数左移或右移时,必然会使数据的低位或高位出现空位,对空位是进行补0还是补1与机器数表示的是有符号数还是无符号数有关,对于有符号数的移位叫算术移位。 对于正数,由于[X]原=[X]补=[X]反=真值,故移位后出现的空位均以0进行补充。对于负数,由于原码、补码和反码的表示形式不同,故当机器数移位时,对其空位的填充规则也不同。表3-12列出了三种不同码制的机器数移位后的添补规则。必须注意的是:不论是正数还是负数,移位后其符号位均不变,这是算术移位的重要特点。 表3-12 不同编码机器数移位后的添补规则 由上表可得出如下结论: (1)机器数为正时,不论左移或右移,添补代码都为0。 (2)由于负数的原码其数值部分与真值相同,故在移位时不论左移或右移,只要使符号位不变,其空位均补0。 (3)由于负数的反码其数值位表示与真值正好相反,故移位后添补的均为1(此时仍需保持符号位不变),即相当于对真值补0。 (4)分析任意负数的补码可发现当对其由低位向高位找到第一个“1”时,在此“1”左边的各位均与对应的反码相同,而在此“1”右边的各位均与对应的原码相同。故负数的补码左移时,空位出现在低位,添补的代码与原码相同,即为0;右移时,空位出现在高位,添补的代码与反码相同,即为1。 例:设机器数字长为8位(含一位符号位),若X=±27,写出X对应的原码、反码和补码的形式,并求出三种机器数左、右移一位后的表示形式及对应的真值。 有符号数的移位称为算术移位,无符号数的移位称为逻辑移位。逻辑移位的规则是:逻辑左移时,高位移出,低位空位补0;逻辑右移时,低位移出,高位空位补0。 3.3.2 补码加减运算与溢出 加减法运算是计算机中最基本的算术运算,一般计算机中都采用补码表示来进行实现。 1、补码加减运算的基本公式 补码加法的基本公式为: [X+Y]补=[X]补+[Y]补 按照补码的定义,此公式可进行严格的数学证明,以小数为例证明如下: 证明:真值X、Y的符号共有四种情况。 (1)X0,Y0,则X+Y0 根据补码定义可得:[X]补+[Y]补=X+Y=[X+Y]补 (Mod 2) (2)X0,Y0 根据补码定义:[X]补=X,[Y]补=2+Y,则[X]补+[Y]补=2+(X+Y) ①当|X|≥|Y|时,0≤X+Y1(正数),模2时,2+(X+Y)=X+Y 所以[X]补+[Y]补=2+(X+Y) =X+Y=[X+Y]补 (Mod 2) ②当|X||Y|时,-1≤X+Y0(负数),[X]补+[Y]补=2+(X+Y)=[X+Y]补 (3)X0,Y0(可仿照(2)证明) (4)X0,Y0,则X+Y0 根据补码定义:[X]补=2+X,[Y]补=2+Y,则 [X]补+[Y]补=2+X+2+Y=2+(2+X+Y) 因为(X+Y)0,而且其绝对值又小于2,则0≤(2+X+Y)2; 在模2情况下,2+(2+X+Y)=2+X+Y =2+(X+Y)=[X+Y]补 所以:[X]补+[Y]补=[X+Y]补 由以上各种情况的证明,可得到结论: [X]补+[Y]补=[X+Y]补 由补码加法的基本公式,可得到补码减法的基本公式: [X-Y]补=[X]补+[-Y]补 即:[X-Y]补=[X+(-Y)]补= [X]补+[-Y]补。 根据以上加减运算的基本公式,可得到补码运算的规则如下: ①、参加运算的操作数均用补码表示。 ②、符号位参与运算。 ③、对于两数相加减的各种情况,计算机都执行求和操作。 ④、运算结果仍为补码表示。 在补码机器中,对于参与运算的X和Y两个数,都以补码形式表示在机器中,即机器内存放的是[X]补和[Y]补的形式,所以对于加法运算来说,比较简单,而对于减法运算,需要考虑怎样从[Y]补变换到[-Y]补的形式,然后参加运算。 不论Y的真值是正是负,已知[Y]补求[-Y]补的方法都是将[Y]补的符号位连同数值位一起求反后末位加1,这是因为Y和-Y肯定为一正一负,且绝对值相同。 例:已知:x=0.1001,y=-0.0110,求x+y=? 例:已知:x=-0.1001,y=-0.0101,求x+y=? 例:已知:x=0.1001,y=0.0110,求

文档评论(0)

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

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

1亿VIP精品文档

相关文档