| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 450 人关注过本帖
标题:初学者的货学习中遇到的问题
只看楼主 加入收藏
zxcaaaaavvv
Rank: 1
等 级:新手上路
帖 子:20
专家分:7
注 册:2013-7-14
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
初学者的货学习中遇到的问题
#include <stdio.h>
float main ()
{
float a=7.8+11;
    printf ("%f\n",a);

}
最基本的一个程序
然后想问为什么这个输出的结果是18.799999而不是18.8
改一下数,a=7.9+11,输出的结果就很正常了,18.9
搜索更多相关主题的帖子: include 
2013-07-14 20:37
qq525273446
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:54
专家分:161
注 册:2009-11-18
收藏
得分:5 
float  double类型的数  在计算机中存的就是一个近似值

例如  和 零值  比较
float f;
if(f<0.000001&&f>-0.000001)

找工作中……
2013-07-14 22:06
w137093940
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2013-6-29
收藏
得分:0 
#include <stdio.h>
float main ()
{
float a=7.8+11;
    printf ("%.2f\n",a);

}
2013-07-15 10:47
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
家里打雷,况且停电,没法用代码给楼主演示一遍代码,其实只需要将
a=()+11,括号里面的数是7.1  7.2  7.3
7.4  7.5 7.6 7.7 7.8 7.9 还有7.0,使用for循环逐个放进去,逐个输出,即可终结浮点型float的规律

思考赐予新生,时间在于定义
2013-07-15 11:45
依恋2012
Rank: 2
等 级:论坛游民
帖 子:29
专家分:53
注 册:2013-6-12
收藏
得分:0 
支持二楼,浮点数存的近似值
2013-07-15 14:26
浪漫横行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:127
专家分:291
注 册:2013-4-30
收藏
得分:5 
float的指数位有8位,而double的指数位有11位,分布如下:
  float:
  1bit(符号位) 8bits(指数位) 23bits(尾数位)
 float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。
2013-07-17 13:32
快速回复:初学者的货学习中遇到的问题
数据加载中...
 
   



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

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