| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 672 人关注过本帖
标题:不懂就问
收藏  订阅  推荐  打印 
xiaomengxia2008
Rank: 2
等级:注册会员
帖子:80
积分:970
注册:2008-7-23
不懂就问

为什么浮点型的数据,用整形的方式输出都是0呢?

#include<stdio.h>
void main()
{float a=3.00000;
printf("%d",a);
}

输出结果:0
搜索更多相关主题的帖子: 整形  float  void  main  include  
2008-7-29 10:11
StarWing83
Rank: 12Rank: 12Rank: 12
来自:湖北工业大学
等级:版主
威望:9
帖子:2483
积分:26219
注册:2007-11-16

你学了IEEE的浮点规范就知道了。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-7-29 11:25
lingluoz
Rank: 4
来自:苏州科技学院
等级:高级会员
威望:3
帖子:623
积分:6680
注册:2008-2-2

你開個watch看看啊

MAY 1, 1964 -- The Birth of BASIC
Over 40 years later, it still enables ANYONE to write their own programs.
P.S. 革命尚未成功 同志仍需努力
2008-7-29 11:43
病书生
Rank: 2
等级:注册会员
帖子:93
积分:1150
注册:2007-11-8

2进制的原因吧,int 比float小两字节,取得小数部分就输出0啦
3.00001 测试下吧
2008-7-29 14:07
StarWing83
Rank: 12Rank: 12Rank: 12
来自:湖北工业大学
等级:版主
威望:9
帖子:2483
积分:26219
注册:2007-11-16

Orz……楼上的解释好强大啊……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-7-29 14:16
xiaomengxia2008
Rank: 2
等级:注册会员
帖子:80
积分:970
注册:2008-7-23
回复 2# StarWing83 的帖子

谢谢

本人是新手……
2008-7-29 14:30
lee_2008
Rank: 1
等级:新手上路
帖子:27
积分:394
注册:2008-7-29

因为输出格式符号与float不相对应.
int %d
char %c
float %f,%g,%e
double %lf
2008-7-29 14:53
iFreeBSD
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:250
积分:3000
注册:2007-11-5

查看IEEE 754 float规则,简言之就是同是内存中的二进制数,int与float有不同的解释。用共用体看看你就明白了。

The FreeBSD is best!!!
2008-7-29 20:22
peach5460
Rank: 3Rank: 3
来自:武汉
等级:中级会员
帖子:399
积分:4322
注册:2008-1-28

看看IEEE的Float32.24规范

如果写错了...不要愤青...
欢迎交流peach5460@gmail.com
QQ Group:61505403
2008-7-30 12:03
妍清舞
Rank: 2
等级:注册会员
帖子:121
积分:1358
注册:2007-11-12

大家都是高手啊,共同学习一下
2008-7-30 12:29
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.075532 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved