浮点数表示方法的分析研究.docVIP

  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文档。上传文档
查看更多
浮点数表示方法的分析研究

浮点数表示方法的分析研究 浮点数表示方法的分析研究 [日期:2006-06-10] 来源: 作者: [字体:大 中 小]  摘要:在《计算机组成原理》课程的教学中,浮点数的表示与运算是一个重点,也是难点。本文对浮点数的一般表示及标准表示的方法、范围、存储格式等进行了比较深入地比较、分析和研究,力求给读者一个清晰的概述。   关键词:浮点数,表示方法,符号,尾数,阶码,范围   《计算机组成原理》课程是计算机科学与技术专业的一门必修专业基础课,主要是讲述计算机系统几大硬件的组成结构和工作原理。在其核心部件——运算器(Arithmetician)的运算机制中,浮点数(Floating-point)的表示与运算方法是一个重点,也是难点,笔者在查阅了大量中外文文献的基础上,根据多年的教学实践经验,对浮点数的表示方法、规格化处理方法、表示范围进行了比较详细地分析研究,以方便学生的学习,共同行们参考。   1、浮点数的一般表示方法   在数学中,表示一个浮点数需要三要素:尾数(mantissa)、指数(exponent,又称阶码)和基数(base),都用其第一个字母来表示的话,那么任意一个浮点数N可以表示成下列形式:N=M×BE,例如N1=1.234×10-6, N2= -0.001011×2011等,同样的数字对于不同的基数是不相同的,移动小数点的位置,其指数相应地跟着变化。在计算机中,表示一个浮点数,同样需要以上三要素,只是阶码与尾数一同存储,基数常有2、8、16等数值,下面的讨论以2为基数进行。   将浮点数放在计算机中存储时,尾数M用定点(Fixed-point)小数的形式,阶码E用有符号整数形式,改变M中小数点的位置,同时需要修改E的值,可以给出有效数字(significant number)的位数,因此M和E决定了浮点数的精度(precision),E指明小数点在B进制数据中的位置,因而E和B决定了浮点数的表示范围(range),浮点数的符号(Sign)是单独考虑,设阶码有m+1位,尾数有n+1位,则一般浮点数的表示方法如图1所示,其中,下标s代表符号位,下标数字代表数字所处的位数,尾数的小数点默认最高数字位M1之前。图(b)是将尾数的符号位提在最前面,其它部分与图(a)一样,是目前常用的一种表示形式。 图1 浮点数的一般表示形式   在这种表示方法中,阶码的二进制编码(binary code)一般是原码(sign magnitude)、补码(twos complement)或移码(bias),尾数的编码一般是原码或补码。   2、浮点数的规格化处理   在浮点数系统中,小数点的浮动使数值的表示不能惟一,从而给数据处理带来困难,因此有必要使浮点数的表示与存储有一定的标准,考虑到阶码、尾数之间的关系,常将尾数的最高数字位是有效值的数值称为规格化(normalization),由于尾数可以是原码或补码,所以有两种规格化的形式,如表1所示。 表1 规格化数据的形式 尾数编码 尾数代码形式 说 明 正数 负数 原码 0.1××× 1.1××× 最高数治槐匦胛? 补码 0.1××× 1.0××× 符号位与最高数字位必须相反 对于二进制尾数,规格化限制了其范围是:1/2≤|M|<1,通过左右移动小数点,增减阶码的值来进行规格化处理。 在浮点数中,零的表示比较特殊。一个是零浮点数,一般地,对于规格化的浮点数来说,无论阶码为任何值,尾数为零就认为该浮点数是零,但这实际上是由尾数的舍入而近似的值,要让总体浮点数趋近于零,其阶码必须是一个不超出表示范围的最大的负数 才行。设阶码含符号为n位,则整数阶码所表示的范围是: 至 或 至 ,即 是 或 。   另一个问题产生于零的唯一表达问题,为了实现用指令测试零,约定在定点数和浮点数格式中零具有相同的表达式,将浮点数的阶码值进行余 编码,就像BCD码中余3码加3一样,阶码被描述为E加上 ,这个 就叫偏移(bias),由上面分析可知 的取值有两种,浮点数的标准表示形式(IEEE754标准)所采用的是 偏移值。   3 浮点数的表示范围   浮点数的表示有一定的范围,超出范围时会产生溢出(flow),一般称大于绝对值最大的数据为上溢(overflow),小于绝对值最小的数据为下溢(underflow)。浮点数表示范围一般分以下几种情况考虑,设浮点数的阶码和尾数均用补码表示(原码表示比较简单),阶码为m+1位(其中1位是符号),尾数为n+1(其中1位是符号),则浮点数的典型范围值如表2所示。 表2 浮点数的典型范围值 典型范围 浮点数代码 真 值

文档评论(0)

sy78219 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档