| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:[求助]关于float的问题
只看楼主 加入收藏
loach
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-3-1
收藏
 问题点数:0 回复次数:6 
[求助]关于float的问题
main()
{ float x;
  double y;
  x=123456.7777; y=123456.7777;
  printf("x=%f,y=%f\n",x,y);
}
在TC里运行结果为x=123456.781250,y=123456.777700
为什么不是x=123456.700000
在TC里float有效数字不是7位吗?
搜索更多相关主题的帖子: float 
2005-03-16 10:32
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
在TC里运行结果为x=123456.781250?

会是这个结果?

有效位数是六位。

2005-03-16 16:39
地瓜
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-14
收藏
得分:0 
2005-03-17 09:54
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
这和浮点数的存储和表示方式有关,你不能要求计算机总能得到你想要的精确度!!!
浮点数占4个字节,其中1位表示正负,8位表示指数,23位表示尾数。
在进行浮点数比较时不要写if(a==0.001)之类的,这样容易出错误!!!

差点把你忘了...
2005-03-17 10:39
地瓜
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-14
收藏
得分:0 
double ,双精度浮点数
2005-03-17 10:52
xyj
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-3-14
收藏
得分:0 
溢出了

岂能尽如人意,但求无愧于心!
2005-03-17 17:55
flyicefire
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-17
收藏
得分:0 

在TC里运行结果为x=123456.781250,y=123456.777700
为什么不是x=123456.700000
在TC里float有效数字不是7位吗?

它的结果的确是七位啊

123456.7就是七位有效数字啊,取前七位啊

后面的81250是随机的啊
2005-03-17 21:21
快速回复:[求助]关于float的问题
数据加载中...
 
   



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

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