




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章运算方法和运算器,2.1数据与文字的表示2.2定点加法、减法运算2.3定点乘法运算2.4定点除法运算2.5定点运算器的组成2.6浮点运算与浮点运算器,2.1数据与文字的表示方法,2.1.1数据格式2.1.2数的机器码表示2.1.3字符的表示2.1.4汉字的表示2.1.5校验码,2.1数据与文字的表示方法,计算机中使用的数据可分成两大类:符号数据:非数字符号的表示(ASCII、汉字、图形等)数值数据:数字数据的表示方式(定点、浮点)计算机数字和字符的表示方法应有利于数据的存储、加工(处理)、传送;编码:用少量、简单的基本符号,选择合适的规则表示尽量多的信息,同时利于信息处理(速度、方便),2.1.1数据格式,一、复习10进制和R进制之间的转换R进制到10进制:10进制到R进制:整数部分:除r取余,r为进制基数小数部分:乘r取整,2.1.1数据格式,二、数值数据计算机在数据、文字的表示方式时,应该考虑一下几个因素:表示的数据类型(符号、小数点、数值)数值的范围数值精度存储、处理、传送的硬件代价,2.1.1数据格式,三、计算机常用的数据表示格式有两种:定点表示:小数点位置固定浮点表示:小数点位置不固定,2.1.1数据格式,四、定点表示法所有数据的小数点位置固定不变理论上位置可以任意,但实际上将数据表示有两种方法(小数点位置固定-定点表示法/定点格式):纯小数纯整数定点数表示:带符号数不带符号数,1、定点纯小数,x0 x1x2x3xn-1xn表示数的范围是0|12n(最小数、最大数、最接近0的正数、最接近0的负数),符号,量值,小数点固定于符号位之后,不需专门存放位置,2.1.1数据格式,2.1.1数据格式,2、纯小数的表示范围,2.1.1数据格式,3、定点纯整数x0 x1x2x3xn-1xn表示数的范围是0|2n1最小数、最大数、最接近0的正数、最接近0的负数呢,符号,量值,小数点固定于最后一位之后,不需专门存放位置,2.1.1数据格式,4、定点表示法的特点定点数表示数的范围受字长限制,表示数的范围有限;定点表示的精度有限机器中,常用定点纯整数表示;如果用定点表示,则如何表示实数(包括小数和整数)呢?-引入浮点,2.1.1数据格式,五、浮点表示:小数点位置随阶码不同而浮动1、格式:N=RE.M2、机器中表示,指数E,基数R,取固定的值,比如10,2等,尾数M,2.1.1数据格式,3、IEEE754标准(规定了浮点数的表示格式,运算规则等)规则规定了单精度(32)和双精度(64)的基本格式.规则中,尾数用原码,指数用移码(便于对阶和比较),2.1.1数据格式,IEEE754标准基数R=2,基数固定,采用隐含方式来表示它。32位的浮点数:S数的符号位,1位,在最高位,“0”表示正数,“1”表示负数。M是尾数,23位,在低位部分,采用纯小数表示E是阶码,8位,采用移码表示。移码比较大小方便。规格化:若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127。,2.1.1数据格式,64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023。因此规格化的64位浮点数x的真值为:x=(-1)S(1.M)2E-1023e=E-1023一个规格化的32位浮点数x的真值表示为x=(-1)S(1.M)2E-127e=E-127,2.1.1数据格式,真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符号位S为0或1,有正零和负零之分。真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合符号位S为0或1,也有+和-之分。这样在32位浮点数表示中,要除去E用全0和全1(25510)表示零和无穷大的特殊情况,指数的偏移值不选128(10000000),而选127(01111111)。对于规格化浮点数,E的范围变为1到254,真正的指数值e则为-126到+127。因此32位浮点数表示的绝对值的范围是10-381038(以10的幂表示)。浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。而单片机中多采用定点表示。,2.1.1数据格式,浮点数表示范围如下图所示,2.1.1数据格式,例1若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。解:将16进制数展开后,可得二制数格式为01000001001101100000000000000000S阶码(8位)尾数(23位)指数e=阶码-127=10000010-01111111=00000011=(3)10包括隐藏位1的尾数1.M=1.01101100000000000000000=1.011011于是有x=(-1)S1.M2e=+(1.011011)23=+1011.011=(11.375)10,2.1.1数据格式,例2将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解:首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2位之间10100.10011=1.01001001124e=4于是得到:S=0,E=4+127=131,M=010010011最后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16,2.1.1数据格式,4、十进制数串的表示字符串形式BCD(压缩)编码方式有权码:(8421码、2421码、5211码)无权码:(余三码、格雷码)自定义数据表示,2.1.2数的机器码表示,一、数的机器码表示真值:一般书写的数机器码:机器中表示的数,要解决在计算机内部数的正、负符号和小数点运算问题。原码反码补码移码,1、原码表示法,定点小数x0.x1x2xnx1x00,正x原=符号1-x0x-11,负数有正0和负0之分范围2-n-11-2-n例:x=+0.11001110x原=0.11001110-x原=1.11001110,1、原码表示法,定点整数X0X1X2Xnx2nx00,正数x原=符号2n-x0x-2n1,负数说明:有正0和负0之分范围1-2n2n1例:x=+11001110x原=011001110-x原=111001110,1、原码表示法,原码特点:表示简单,易于同真值之间进行转换,实现乘除运算规则简单。进行加减运算十分麻烦。,2、补码表示法,定义:正数的补码就是正数的本身,负数的补码是原负数加上模。计算机运算受字长限制,属于有模运算.定点小数x0.x1x2.xn溢出量为2,以2为模定点整数x0 x1x2.xn溢出量为2n+1,以2n+1为模定点小数x0.x1x2xnx1x00,正数,0x补=符号2+x0x-11,负数,2、补码表示法,例:x=-0.1011x补=10+x=10.0000-0.1011=1.0101y=-0.01111y补=10+y=10.00000-0.01111=1,10001定点整数x0 x1x2xnx2nx00,正数,0x补=符号2n+1+x0x-2n1,负数,2、补码表示法,补码性质高位表明正负正数补码,尾数与原码相同范围-2n2n-1(定点整数)变相补码(双符号补码)为了防止溢出而设定,2、补码表示法,最大的优点就是将减法运算转换成加法运算。X补-Y补=X补+-Y补例如X=(11)10=(1011)2Y=(5)10=(0101)2已知字长n=5位X补-Y补=X补+-Y补=01011+11011=100110=00110=(6)10注:最高1位已经超过字长故应丢掉无正零和负零之分但是,在求补码还要减法,电路繁琐,下面的反码表示解决着个问题。,3、反码表示法,定义:正数的表示与原、补码相同,负数的补码符号位为1,数值位是将原码的数值按位取反,就得到该数的反码表示。电路容易实现,触发器的输出有正负之分。,3、反码表示法,对尾数求反,它跟补码的区别在于末位少加一个1,所以可以推出反码的定义定点小数x0.x1x2xnx1x0x反=2+x2-n0x-1X1=+0.1011011,X1反=0.1011011X2=-0.1011011,X2反=1.01001001.11111110.10110111.0100100,3、反码表示法,x补=x反+2-n反码表示有正0和负0之分上述公式解决了前边的问题(求补码还要减法)定点整数的反码定义见书,4、移码表示法,移码表示法(用在阶码中)定点整数定义x移=2n+x2nx-2n0000000011111111(-2n2n-1)例+1011111原码为01011111补码为01011111反码为01011111移码为11011111,4、移码表示法,例-1011111原码为11011111补码为10100001反码为10100000移码为00100001特点:移码和补码尾数相同,符号位相反范围:-2n2n-1浮点IEEE754表示e=-127+128,0E25500000000阶码表示数字”0”,尾数的隐含位为011111111阶码表示数字”无穷大”,尾数的隐含位为0,例6以定点整数为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。,例7将十进制真值(127,1,0,1,127)列表表示成二进制数及原码、反码、补码、移码值。,例8设机器字长16位,定点表示,尾数15位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是多少?(2)定点原码小数表示时,最大正数是多少?最小负数是多少?,(1)定点原码整数表示最大正数值(2151)10(32767)10最小负数值(2151)10(32767)10(2)定点原码小数表示最大正数值(1215)10(0.111.11)2最小负数值(1215)10(0.111.11)2,例9假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化浮点数,真值表示为(非IEEE754标准):(1)s(1.M)2E128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?,(1)最大正数011111111111111111111111111111111(12-23)2127(2)最小正数000000000000000000000000000000001.02128(3)最小负数111111111111111111111111111111111(1223)2127(4)最大负数100000000000000000000000000000001.02128,2.1.3字符和字符串(非数值)的表示方法,符号数据:字符信息用数据表示,如ASCII等;字符表示方法ASCII:用一个字节来表示,低7位用来编码(128),最高位为校验位,参见教材P24表2.1字符串的存放方法,2.1.4汉字的存放,汉字的表示方法(一级汉字3755个,二级汉字3008个)输入码国标码一级(1655)*94二级(5687)*94图形符号(682个)(0109)*94拼音、五笔汉字内码:汉字信息的存储,交换和检索的机内代码,两个字节组成,每个字节高位都为1(区别于英文字符),2.1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年航空机务工程师职业资格评定试题及答案解析
- 高粱购销合同模板(3篇)
- n2级护理岗位考试试题及答案
- 环保项目投资民间借款合同
- 任城区人才公寓租住管理与租客权益保障协议
- 商业地产业主与物业物业服务合同范本
- 股权转让协议范本中的业绩承诺条款详解
- 2025公务员能源局面试题目及答案
- 辅警专业知识试题及答案
- 跳棋的教学课件怎么写
- 如何上好语文课的讲座
- 2025秋部编版二年级上册语文教学计划教学进度表
- 2025年高校教师思政素质和师德师风考试题库及答案
- 2025版预制构件浇筑施工合同规范文本
- 2025年安徽省申论c类试题及答案
- 公司物资盘点管理办法
- 骨科门诊常见病诊疗流程
- 医院法律法规培训内容
- 科技创新管理办法细则
- 股东合伙人知识产权共享与保护合同
- 飞书使用教程培训
评论
0/150
提交评论