标题:请教一个问题,关于浮点数的存储方式
只看楼主
dev2017
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-2-24
结帖率:0
已结贴  问题点数:20 回复次数:2 
请教一个问题,关于浮点数的存储方式
        float尾数部分占23位,这23bit为什么使float能精确到小数点后6位,怎么计算的?这个是什么意思
搜索更多相关主题的帖子: 小数点 
2017-03-03 09:44
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:10 
是转换为十进制后的有效位数,float型二进制虽然尾数部分是23位,但小数点前面有一个恒为1的有效位,所以二进制浮点数实际有效位有24位,不过是有一个有效位恒为1。
2^23=8388608,看上去有7位数,但由于并不能表达全部的7位数(0--9999999),所以实际有效位数为6位。

[此贴子已经被作者于2017-3-3 10:04编辑过]

2017-03-03 10:01
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
log10( 2^24 ) = 6.92
23位二进制数 等于 6.9位十进制数
2017-03-03 10:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474707-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.721475 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved