浮点数在内存中的存储规则

本文介绍了浮点数在内存中的存储规则,遵循IEEE 754标准。浮点数由符号位、指数位和有效数字组成。在存储时,符号位占据一位,指数位(31到24位)加上偏移量,有效数字占据剩余位。读取时,根据不同情况(E不全为1或0)解释指数。通过实例展示了如何将浮点数转换为二进制并存储,以及如何以浮点数形式读取整数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引子:

        阅读一段代码:

    int n = 9;     //以整数的形式存储
	float* pFloat = (float*)&n;
	printf("%d\n", n);    //输出 9
	printf("%f", *pFloat);    //输出 0.000000 这里以 浮点形式读取

	*pFloat = 9.0;     //以浮点的形式存储
	printf("%d\n", n);    //输出 1091567616 //以整数的方式读取
	printf("%f\n", *pFloat);    //输出 9.000000 00 

        这里会发现,浮点数在内存中的存储读取整数在内存中的读取存储 是存在差异的,并不是单纯的以二进制序列的形式存储在内存中。

浮点数存储规则:

根据国际标准IEEE(电气和电子工程)754,任意一个二进制浮点数V,可以表示成以下的形式

  • (-1)^S * M * 2^E

  • (-1)^S 表示符号位,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值