来点基础的东西,关于浮点数的大小端转换以及浮点数的格式解析

本文详细介绍了整型及浮点型数据在不同字节序(大小端)下的内存存储方式,通过具体实例解析了IEEE浮点数格式及其转换方法。

在网上并没有任何信息或则资料介绍关于浮点数的大小端转换的原理的问题,大小端是不同的内存存储实现方式,大端更符合人的阅读习惯,而小端则是更适合CPU读取。

我先说整型,来说明大小端在内存中的存储方式,整型数据在内存中就是符号和数据两个部分,而且符号占一位,用32位整数举例,大端方式在内存中排列的顺序如下:

[0...7] [8...15] [16...23] [24...31]

0是标志位,1-31是数据。地址由小向大增加,而数据从高位往低位放,我们用 999 来说明,内存中存放的数据是:00 00 03 E7

 

而小端方式呢,则在内存中如下存储:

[24...31] [16...23] [8...15] [0...7]

地址由小向大增加,而数据从低位往高位放,同样用 999 来说明,内存中存放的数据是:E7 03 00 00

 

而浮点数则比整型复杂一些。按照ieee的浮点数格式,32位浮点型的格式如下,这个也是大端的存储方式:

B0                   B1                    B2                    B3

[SEEEEEEE] [EDDDDDDD] [DDDDDDDD] [DDDDDDDD]

S表示符号,E表示指数,D表示分数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值