float精度问题求解

网上查了一下,都是这一句话解释了:float:2^23=8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数... 网上查了一下,都是这一句话解释了:
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字。
但是我该怎么理解这句话呢,求大牛给我解释一下吧
展开
 我来答
空雪梦见
2013-11-05 · TA获得超过5598个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1204万
展开全部
从第一位非0的数字开始,后面的全部叫有效数字

例如

100:3个有效数字
1.0001:5个有效数字
0.001:1个有效数字
0.0010:2个有效数字
10x10^3:2个有效数字,1和0,后面的10^3不算

float里有23个有效数字,但是这23个有效数字是二进制的不是十进制的。换算成10进制以后就差不多是6~7个有效数字了
更多追问追答
追问
2^23 是8388608,这个数和能取多少位有效数字有什么关系呢?
追答
如果指数部分(单位)是1,1/8388608大约是0.00000011920928955078125
能表示的精度是小数点后6位。第七位开始是精度范围外
黄先生
2024-12-27 广告
矩阵切换器就是将一路或多路视音频信号分别传输给一个或者多个显示设备,如两台电脑主机要共用一个显示器,矩阵切换器可以将两台电脑主机上的内容renyi切换到同一个或多个显示器上;迈拓维矩矩阵切换器种类齐全,性价比高,支持多种控制方式,为工程商采... 点击进入详情页
本回答由黄先生提供
大龄儿童Oo
2013-11-05
知道答主
回答量:21
采纳率:0%
帮助的人:21.3万
展开全部
因为在不同的系统和机器上面这些实现是不一定相同的,比如在windows上和在linux上就会不一样。所以C语言没有硬性的规定,而是有一个限度,这个限度就是float必须满足智商6位有效数字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式