| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1768 人关注过本帖
标题:不懂就问
只看楼主 加入收藏
xiaomengxia2008
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2008-7-23
收藏
 问题点数:0 回复次数:13 
不懂就问
为什么浮点型的数据,用整形的方式输出都是0呢?

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

输出结果:0
搜索更多相关主题的帖子: 整形 float void main include 
2008-07-29 10:11
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
你学了IEEE的浮点规范就知道了。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-07-29 11:25
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
收藏
得分:0 
你開個watch看看啊

Murphy's Law :
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
2008-07-29 11:43
病书生
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-11-8
收藏
得分:0 
2进制的原因吧,int 比float小两字节,取得小数部分就输出0啦
3.00001 测试下吧
2008-07-29 14:07
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
Orz……楼上的解释好强大啊……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-07-29 14:16
xiaomengxia2008
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2008-7-23
收藏
得分:0 
回复 2# StarWing83 的帖子
谢谢

本人是新手……
2008-07-29 14:30
lee_2008
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-7-29
收藏
得分:0 
因为输出格式符号与float不相对应.
int %d
char %c
float %f,%g,%e
double %lf
2008-07-29 14:53
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
收藏
得分:0 
查看IEEE 754 float规则,简言之就是同是内存中的二进制数,int与float有不同的解释。用共用体看看你就明白了。

without further ado, let’s get started
2008-07-29 20:22
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
看看IEEE的Float32.24规范

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-07-30 12:03
妍清舞
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2007-11-12
收藏
得分:0 
大家都是高手啊,共同学习一下
2008-07-30 12:29
快速回复:不懂就问
数据加载中...
 
   



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

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