【C语言】得到浮点数的二进制

浮点数在内存中的存储


本文主要介绍通过C语言来获得浮点数在内存中的实际存储方式。

    浮点数在内存中是按照IEEE754标准进行存储的,本文以单精度浮点型为例,也就是C语言中的float型,双精度存储原理与单精度的类似,只是位数长度不同。


IEEE754 单精度浮点型格式

float 型有32位,其中最高一位是符号位S,S=0 表示正数,S=1 表示负数。
最高位后面的8位是阶码E,剩下的23位为尾数部分M。
阶码E=指数真值e+127,这样使得阶码不为负数,方便了指数大小比较和运算时的对阶。
安装浮点数规格化的表示,尾数部分的最高有效位应该为1,也就是说,尾数部分M代表的真值为1.M。

S(符号位) E(阶码) M(尾数)
1位 8位 23位

按照IEEE754标准 0.75 的表示格式</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值