|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 程序输出结果跟预期结果不一样,为什么会这样呢?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1066
人关注过本帖
标题:
程序输出结果跟预期结果不一样,为什么会这样呢?
只看楼主
加入收藏
ospf
等 级:
新手上路
帖 子:15
专家分:0
注 册:2008-7-9
楼主
收藏
问题点数:0 回复次数:7
程序输出结果跟预期结果不一样,为什么会这样呢?
#include<stdio.h>
int main(void)
{
float i=1000000.1;
printf("%f",i*0.01);
return 0;
}
vc输出结果是10000.001250,为什么不是10000.001呢?
搜索更多相关主题的帖子:
结果
输出
float
void
2008-07-09 00:07
举报帖子
使用道具
赠送鲜花
Rand
等 级:
新手上路
帖 子:49
专家分:0
注 册:2008-7-2
第
2
楼
收藏
得分:0
精度问题,0.1无法用二进制准确表示,你换成0.25(0.25=2^-2)就可以准确表示,你可以试试。
2008-07-09 00:40
举报帖子
使用道具
赠送鲜花
独孤小梦
等 级:
新手上路
威 望:
1
帖 子:338
专家分:0
注 册:2008-6-5
第
3
楼
收藏
得分:0
LS正解~
编程小菜
2008-07-09 00:48
举报帖子
使用道具
赠送鲜花
mingshendeshou
等 级:
新手上路
帖 子:14
专家分:0
注 册:2005-4-15
第
4
楼
收藏
得分:0
知道了
天生我才必有用。
2008-07-09 11:07
举报帖子
使用道具
赠送鲜花
ospf
等 级:
新手上路
帖 子:15
专家分:0
注 册:2008-7-9
第
5
楼
收藏
得分:0
[bo][un]Rand[/un] 在 2008-7-9 00:40 的发言:[/bo]
精度问题,0.1无法用二进制准确表示,你换成0.25(0.25=2^-2)就可以准确表示,你可以试试。
我觉得应该也是精度问题,但是你说的还是有问题,你看下面的程序,为什么就能正确输出0.00100呢?
#include<stdio.h>
int main(void)
{
float a=0.1;
printf("%f",a*0.01);
return 0;
}
2008-07-09 22:49
举报帖子
使用道具
赠送鲜花
ospf
等 级:
新手上路
帖 子:15
专家分:0
注 册:2008-7-9
第
6
楼
收藏
得分:0
ding yi ge
2008-07-11 20:15
举报帖子
使用道具
赠送鲜花
水中无月
等 级:
新手上路
帖 子:190
专家分:9
注 册:2008-6-17
第
7
楼
收藏
得分:0
float a=0.1;
改成
float a=0.1f;//注意“f”
这样就不需要a*0.01了,直接
printf("%f",a);
十里平湖霜满天,寸寸青丝愁华年,对月形单望相互,只羡鸳鸯不羡仙.
2008-07-11 20:48
举报帖子
使用道具
赠送鲜花
ospf
等 级:
新手上路
帖 子:15
专家分:0
注 册:2008-7-9
第
8
楼
收藏
得分:0
感谢你的热心,但是我不明白你的意思,能否详细解释一下啊,谢谢!
2008-07-12 09:49
举报帖子
使用道具
赠送鲜花
8
1/1页
1
快速回复:
程序输出结果跟预期结果不一样,为什么会这样呢?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.033327 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved