算法移植浮点转定点运算二

算法移植浮点转定点运算二

ID:30442765

大小:87.42 KB

页数:12页

时间:2018-12-30

算法移植浮点转定点运算二_第1页
算法移植浮点转定点运算二_第2页
算法移植浮点转定点运算二_第3页
算法移植浮点转定点运算二_第4页
算法移植浮点转定点运算二_第5页
资源描述:

《算法移植浮点转定点运算二》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、算法移植浮点转定点运算二TraceBack:小数点的表示为了节省内存,计算机中数值型数据的小数点的位置是隐含的,且小数点的位置既可以是固定的,也可以是变化的。定点数与浮点数如果小数点的位置事先已有约定,不再改变,此类数称为"定点数"。相比之下,如果小数点的位置可变,则称为"浮点数"。⑴定点数。常用的定点数有两种表示形式:如果小数点位置约定在最低数值位的后面,则该数只能是定点整数;如果小数点位置约定在最高数值位的前面,则该数只能是定点小数。例如,假定用两个字节存放一个定点数,则以定点方式表示的十进制整数195为:这里,(-0.6876)10=(-0.10110000000001101…)2,转

2、换为无限循环小数,存储时多余的位被截断。如果知道一个定点数的小数点位置约定和占用存储空间大小,那么很容易确定其表示数的范围。⑵浮点数。浮点数表示法来源于数学中的指数表示形式,如193可以表示为0.193x103或1.93x102等。一般地,数的指数形式可记作:N=MxRC其中,M称为"尾数",C称为"阶码"。在存储时,一个浮点数所占用的存储空间被划分为两部分,分别存放尾数和阶码。尾数部分通常使用定点小数方式,阶码则采用定点整数方式。尾数的长度影响该数的精度,而阶码则决定该数的表示范围。同样大小的空间中,可以存放远比定点数取值范围大得多的浮点数,但浮点数的运算规则比定点数更复杂。1.什么是浮点

3、数在计算机系统的发展过程中,曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数(FixedPointNumber)。【所谓的定点数,就是指小数点的位置是固定的】在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置。货币的表达就可以使用这种方式,比如99.00或者00.99可以用于表达具有四位精度(Precision),小数点后有两位的货币值。由于小数点位置固定,所以可以直接用四位数值来表达相应的数值。SQL中的NUMBER数据类型就是利用定点数来定义的。还有一种提议的表达方式为有理数表达方式,即用两个整数的比值来表达实数。定点数表达法的缺点在于其形式过于僵硬,固定的小数点位置

4、决定了固定位数的整数部分和小数部分,不利于同时表达特别大的数或者特别小的数。最终,绝大多数现代的计算机系统采纳了所谓的浮点数表达方式。这种表达方式利用科学计数法来表达实数,即用一个尾数(Mantissa),一个基数(Base),一个指数(Exponent)以及一个表示正负的符号来表达实数。比如123.45用十进制科学计数法可以表达为1.2345×102,其中1.2345为尾数,10为基数,2为指数。浮点数利用指数达到了浮动小数点的效果,从而可以灵活地表达更大范围的实数。提示:尾数有时也称为有效数字(Significand)。尾数实际上是有效数字的非正式说法。同样的数值可以有多种浮点数表达方式

5、,比如上面例子中的123.45可以表达为12.345×101,0.12345×103或者1.2345×102。因为这种多样性,有必要对其加以规范化以达到统一表达的目标。规范的(Normalized)浮点数表达方式具有如下形式:±d.dd.d×βe,(0≤diβ)其中d.dd.d即尾数,β为基数,e为指数。尾数中数字的个数称为精度,在本文中用p来表示。每个数字d介于0和基数之间,包括0。小数点左侧的数字不为0。基于规范表达的浮点数对应的具体值可由下面的表达式计算而得:±(d0+d1β-1+.+dp-1β-(p-1))βe,(0≤diβ)对于十进制的浮点数,即基数β等于10的浮点数而言,上面的表

6、达式非常容易理解,也很直白。计算机内部的数值表达是基于二进制的。从上面的表达式,我们可以知道,二进制数同样可以有小数点,也同样具有类似于十进制的表达方式。只是此时β等于2,而每个数字d只能在0和1之间取值。比如二进制数1001.101相当于1×23+0×22+0×21+1×20+1×2-1+0×2-2+1×2-3,对应于十进制的9.625。其规范浮点数表达为1.001101×23。2.IEEE浮点数计算机中是用有限的连续字节保存浮点数的。保存这些浮点数当然必须有特定的格式,Java平台上的浮点数类型float和double采纳了IEEE754标准中所定义的单精度32位浮点数和双精度64位浮点

7、数的格式。注意:Java平台还支持该标准定义的两种扩展格式,即float-extended-exponent和double-extended-exponent扩展格式。这里将不作介绍,有兴趣的读者可以参考相应的参考资料。在IEEE标准中,浮点数是将特定长度的连续字节的所有二进制位分割为特定宽度的符号域,指数域和尾数域三个域,其中保存的值分别用于表示给定二进制浮点数中的符号,指数和尾数。这样,通过尾数和可以调节

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

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

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