请问float型数据在mega128中是如何存储的

请问float型数据在mega128中是如何存储的

ID:38203892

大小:25.00 KB

页数:3页

时间:2019-05-25

请问float型数据在mega128中是如何存储的_第1页
请问float型数据在mega128中是如何存储的_第2页
请问float型数据在mega128中是如何存储的_第3页
资源描述:

《请问float型数据在mega128中是如何存储的》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、0请问float型数据在mega128中是如何存储的?一个float型数据,占用连续四个字节地址,用iccavr编译,是按照什么规则来编译然后存储的呢?我试了试,好像不像是网上说的按照ieee745标准啊。。。。郁闷了。。。我又弄明白了,原来是我自己搞错了,iccavr也是用得那个统一的ieee745标准。顺便把我看得资料给大家分享一下吧,万一以后大家可能用的着呢:)以下为引用:自学者疑难之一,实型数在计算机中的存储方式Red_Fox笔于2006-12-1217:13 由于关于实型数介绍的资料很少,同时介绍的资料

2、描述得都很简短,各种专业教程中都是简单带过,没有具体的讲解.这样的情况下只好边参考资料边进行逆向分析,经过分析验证后得出以下结论并整理成文档。虽然编写程序时可以不关心它的存储方式,编译器可以自动进行转换,但在许多情况下了解它的存储方式却是个关键。以下的分析目的都旨在于:"知其然,知其所以然".读懂本文所需的前提是了解[补码]实型数的表示,根据IEEE(14)标准分析如下一.先将浮点数转换为二进制数并进行规格化.  1.转换为二进制并规格化一个数时将其调整为大于等于1而小于2,存储时隐含掉整数部分只保留尾数;  如

3、(这部分可以只了解下):   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;   

4、   数值"12"存储为float的结果是:   (数据结构图)   为了对齐行列,各表示:A:符号;B:移码阶;C:尾数.   

5、A

6、 B 

7、    C    

8、   

9、0

10、10000010

11、10000000000000000000000

12、      关于B:移码阶部分一定会让人比较迷惑,这里可以先不用管,这部分重点放在第二大段中介绍. 2.浮点数中尾数的二进制转换及规格化  浮点数尾数部分。    通常的转换方式可以转换得出(如除2求余法),但进一步整理下思路可以使后文  更易于理解.  以10进制数:27.

13、4375为例,它们的关系是(书上直接抄来的例子):     A冥  B权  C数码  D数值(10进制)  A2^42^32^22^12^02^-12^-2 2^-3 2^-4  B16 8 4 2 1 0.5 0.25 0.125 0.0625  C1 1 0 1 1.0 1  1  1  11011.0111(2进制)  D16+8+0+2+1+0+0.25+0.125+0.0625 =27.4375二.在机器中的存储方式以float来做分析,存储中位的顺序由高到低描述是:float符号位1bit;阶码位8b

14、it;尾数23bit.共计32bit即4byte长度.符号位: 标识数的正负符号,1表示(-)阶码部分: 由于是8bit;阶为2。因此2的8次方=256个描述信息 规范中,数的表示法有些特别,使用偏移量方式计算。 表示方法为:阶的偏移量E_Disp=127=(256/2-1)     阶码为E表示为存储方式[e]=E+E_Disp 所以,使用存储方式[e]来计算时需要在之上减去E_Disp, 即:E=[e]-E_Disp 此阶码的特点:    这种表示法形式实为补码,但这种表示法不同于普通补码.它使用偏移量计算,

15、  偏移量即补码,同普通补码的区别是末位不进行加1修正.    这种表示法中因为0不应该存在负数,而又没有普通补码表示法的修正,所以  存储0时全存为0    同时这样的方法带来一个额外的空间,原因是表示(+-)127的情况下范围  为:127*2=254实际可用范围为256,0占用1个范围,(+-)127占用254的范围,这  样就是:256-(127*2+1)=1。但是这个描述信息并没有被浪费,它在IEEE(14)    作者:220.172.104.*2007-2-116:17 回复此发言   2  自学者

16、疑难之一,实型数在计算机中的存储方式      规范中用于表示无穷大即:∞。这种方式下无穷表示为:阶码部分全为1,尾码部分  全为0,符号位标识(+-∞).    综合说明:    1.阶码存储为:阶码+偏移量127;    2.被存储的数值为0时不进行任何形式的转换,将其全存为0,符号位唯一确定为0;    3.被存储的数值为+-无穷时阶码位全存为1,尾数位全存为0,符

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

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

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