|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 输入输出问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
499
人关注过本帖
标题:
输入输出问题
只看楼主
加入收藏
li362490567
等 级:
新手上路
帖 子:89
专家分:8
注 册:2015-7-9
结帖率:
0
楼主
收藏
问题点数:0 回复次数:6
输入输出问题
#include<stdio.h>
int main(void)
{
float a;
scanf_s("%f",&a);
printf("The input %f or %e", a, a);
return 0;
}
我输入21.29 为何 输出是21.290001?
搜索更多相关主题的帖子:
return
2015-07-10 10:21
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
2
楼
收藏
得分:0
浮点数储存就是这样
授人以渔,不授人以鱼。
2015-07-10 10:30
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9025
专家分:54030
注 册:2011-1-18
第
3
楼
收藏
得分:0
你是不是认为你输入任何实数,那么float就能保持任意实数?
实数有无限个,float只有4bytes,你用有限的资源就能存储无限的信息?
将全世界所有的硬盘拿出来,将其中所有的数据连接起来组成一个超大的整数,然后用1.0除以这个超大数得到一个小数,将这个小数赋值给一个float变量。
你看,一个float变量就可以存储全世界所有硬盘中的信息。
对于代码 float a = 21.29f;
在编译器/程序严重,就是 float a = 21.29000091552734375f;
2015-07-10 10:43
举报帖子
使用道具
赠送鲜花
诸葛欧阳
来 自:流年
等 级:
贵宾
威 望:
82
帖 子:2790
专家分:14619
注 册:2014-10-16
第
4
楼
收藏
得分:0
浮点误差
一片落叶掉进了回忆的流年。
2015-07-10 10:45
举报帖子
使用道具
赠送鲜花
li362490567
等 级:
新手上路
帖 子:89
专家分:8
注 册:2015-7-9
第
5
楼
收藏
得分:0
回复 3楼 rjsp
如果要显示21.290000该如何操作?
2015-07-10 11:32
举报帖子
使用道具
赠送鲜花
hjx1120
来 自:李掌柜
等 级:
贵宾
威 望:
41
帖 子:1314
专家分:6927
注 册:2008-1-3
第
6
楼
收藏
得分:0
#include<stdio.h>
int main(void)
{
float a;
scanf_s("%f",&a);
printf("The input %g or %e", a, a);//把%f改成%g或改成%.6f
return 0;
}
2015-07-10 11:57
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9025
专家分:54030
注 册:2011-1-18
第
7
楼
收藏
得分:0
以下是引用
li362490567
在2015-7-10 11:32:53的发言:
如果要显示21.290000该如何操作?
看你这话,肯定是还没明白问题所在呀。
简单的说,它的值本就不是21.290000,你为什么要它显示为一个不正确的21.290000呢?
2015-07-10 16:28
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
输入输出问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.040771 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved