实型数在计算机中的存储方式.docxVIP

  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文档。上传文档
查看更多
实型数在计算机中的存储方式

实型数在计算机中的存储方式 由于关于实型数介绍的资料很少,同时介绍的资料描述得都很简短,各种专业教程中都是简单带过,没有具体的讲解.这样的情况下只好边参考资料边进行逆向分析,经过分析验证后得出以下结论并整理成文档。虽然编写程序时可以不关心它的存储方式,编译器可以自动进行转换,但在许多情况下了解它的存储方式却是个关键。以下的分析目的都旨在于:知其然,知其所以然. 读懂本文所需的前提是了解[补码] 实型数的表示,根据IEEE(14)标准分析如下一.先将浮点数转换为二进制数并进行规格化. 1.转换为二进制并规格化一个数时将其调整为大于等于1而小于2,存储时隐含掉整数部分只保留尾数; 如(这部分可以只了解下): 10进制数12 10进制转2进制为: 12 = 1100 ; 1100 规格化后为: 1.1 * 2^3这样一个表达式(等同于对1.1左移位3次),2^3 表示2的3次方. 12 : 是正数既符号位为0. 存到符号字段中 2^3: 3就是阶码. 存到阶码字段中 1.1: .1是尾数. 存到尾数字段中 1.1中的整数1不需要存储,只存储尾数 如果是0.111这样的二进制数码则调整为 1.11 * 2^-1 .即阶码 = -1; 尾数 = 11; 数值12存储为float的结果是: (数据结构图) 为了对齐行列,各表示: A:符号; B:移码阶; C:尾数. | A | B | C | | 0 || 100000000000000 | 关于B:移码阶部分一定会让人比较迷惑,这里可以先不用管,这部分重点放在第二大段中介绍. 2.浮点数中尾数的二进制转换及规格化浮点数尾数部分。通常的转换方式可以转换得出(如除2求余法),但进一步整理下思路可以使后文更易于理解. 以10进制数:27.4375为例,它们的关系是(书上直接抄来的例子): A冥 B权 C数码 D数值(10进制) A 2^4 2^3 2^2 2^1 2^0 2^-1 2^-2 2^-3 2^-4 B 16 8 4 2 1 0.5 0.25 0.125 0.0625 C 11 0 1 1 . 0 1 11 11011.0111(2进制) D 16 + 8 + 0 + 2 + 1 + 0 + 0.25 + 0.125 + 0.0625 = 27.4375 二.在机器中的存储方式 以float来做分析,存储中位的顺序由高到低描述是: float 符号位1bit;阶码位8bit;尾数23bit.共计32bit 即 4 byte长度. 符号位: 标识数的正负符号,1表示(-) 阶码部分: 由于是8bit;阶为2。因此2的8次方 = 256个描述信息 规范中,数的表示法有些特别,使用偏移量方式计算。 表示方法为: 阶的偏移量 E_Disp = 127 = (256/2 -1) 阶码为E表示为 存储方式[e] = E + E_Disp 所以,使用存储方式[e]来计算时需要在之上减去E_Disp, 即: E = [e] - E_Disp此阶码的特点: 这种表示法形式实为补码,但这种表示法不同于普通补码.它使用偏移量计算,偏移量即补码,同普通补码的区别是末位不进行加1修正. 这种表示法中因为0不应该存在负数,而又没有普通补码表示法的修正,所以存储0时全存为0 同时这样的方法带来一个额外的空间,原因是表示 (+-)127 的情况下范围为:127*2 = 254 实际可用范围为256,0占用1个范围,(+-)127占用254的范围,这样就是:256-(127*2 + 1) = 1。但是这个描述信息并没有被浪费,它在IEEE(14)规范中用于表示无穷大即:∞。这种方式下无穷表示为:阶码部分全为1,尾码部分全为0,符号位标识 (+- ∞). 综合说明: 1.阶码存储为: 阶码 + 偏移量127; 2.被存储的数

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档