计算机组成原理 马辉 第3章 二

计算机组成原理 马辉 第3章 二

ID:40343837

大小:1.06 MB

页数:196页

时间:2019-07-31

计算机组成原理 马辉 第3章 二 _第1页
计算机组成原理 马辉 第3章 二 _第2页
计算机组成原理 马辉 第3章 二 _第3页
计算机组成原理 马辉 第3章 二 _第4页
计算机组成原理 马辉 第3章 二 _第5页
资源描述:

《计算机组成原理 马辉 第3章 二 》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章 计算机中信息的表示和数值运算3.3定点数的运算3.3.1移位运算3.3.2补码加减运算与溢出3.3.3乘法运算3.3.4除法运算3.3.1移位运算移位运算在计算机中有着非常重要的意义。例如在计算机中没有乘、除法运算的实现时,可以用移位与加、减法运算相结合的办法进行处理。对定点表示的数据,计算机中小数点的位置是事先约定的,因此,二进制表示的机器数在相对于小数点作n位左移或右移时,其实质就是对该数乘以或除以2n。由于计算机中机器数的字长往往是固定的,当机器数左移或右移时,必然会使数据的低位或高位出现空位,对空

2、位是进行补0还是补1与机器数表示的是有符号数还是无符号数有关,对于有符号数的移位叫算术移位。对于正数,由于[X]原=[X]补=[X]反=真值,故移位后出现的空位均以0进行补充。对于负数,由于原码、补码和反码的表示形式不同,故当机器数移位时,对其空位的填充规则也不同。表3-12列出了三种不同码制的机器数移位后的添补规则。必须注意的是:不论是正数还是负数,移位后其符号位均不变,这是算术移位的重要特点。表3-12不同编码机器数移位后的添补规则码制添补代码正数原码、补码、反码0负数原码0补码左移添0右移添1反码1由上表可

3、得出如下结论:(1)机器数为正时,不论左移或右移,添补代码都为0。(2)由于负数的原码其数值部分与真值相同,故在移位时不论左移或右移,只要使符号位不变,其空位均补0。(3)由于负数的反码其数值位表示与真值正好相反,故移位后添补的均为1(此时仍需保持符号位不变),即相当于对真值补0。(4)分析任意负数的补码可发现当对其由低位向高位找到第一个“1”时,在此“1”左边的各位均与对应的反码相同,而在此“1”右边的各位均与对应的原码相同。故负数的补码左移时,空位出现在低位,添补的代码与原码相同,即为0;右移时,空位出现在高

4、位,添补的代码与反码相同,即为1。例:设机器数字长为8位(含一位符号位),若X=±27,写出X对应的原码、反码和补码的形式,并求出三种机器数左、右移一位后的表示形式及对应的真值。有符号数的移位称为算术移位,无符号数的移位称为逻辑移位。逻辑移位的规则是:逻辑左移时,高位移出,低位空位补0;逻辑右移时,低位移出,高位空位补0。3.3.2补码加减运算与溢出加减法运算是计算机中最基本的算术运算,一般计算机中都采用补码表示来进行实现。1、补码加减运算的基本公式补码加法的基本公式为:[X+Y]补=[X]补+[Y]补按照补码的

5、定义,此公式可进行严格的数学证明,以小数为例证明如下:证明:真值X、Y的符号共有四种情况。(1)X>0,Y>0,则X+Y>0根据补码定义可得:[X]补+[Y]补=X+Y=[X+Y]补(Mod2)(2)X>0,Y<0根据补码定义:[X]补=X,[Y]补=2+Y,则[X]补+[Y]补=2+(X+Y)①当

6、X

7、≥

8、Y

9、时,0≤X+Y<1(正数),模2时,2+(X+Y)=X+Y所以[X]补+[Y]补=2+(X+Y)=X+Y=[X+Y]补(Mod2)②当

10、X

11、<

12、Y

13、时,-1≤X+Y<0(负数),[X]补+[Y]补=2+(

14、X+Y)=[X+Y]补(3)X<0,Y>0(可仿照(2)证明)(4)X<0,Y<0,则X+Y<0根据补码定义:[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]补

15、+[-Y]补即:[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补。根据以上加减运算的基本公式,可得到补码运算的规则如下:①、参加运算的操作数均用补码表示。②、符号位参与运算。③、对于两数相加减的各种情况,计算机都执行求和操作。④、运算结果仍为补码表示。在补码机器中,对于参与运算的X和Y两个数,都以补码形式表示在机器中,即机器内存放的是[X]补和[Y]补的形式,所以对于加法运算来说,比较简单,而对于减法运算,需要考虑怎样从[Y]补变换到[-Y]补的形式,然后参加运算。不论Y的真值是正是负,已知[Y]补求[-Y

16、]补的方法都是将[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,求x-y=?例:已知:x=-0.1001,y=-0.0110,求x-y=?2、溢出及其判别方法计算

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。