| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 857 人关注过本帖
标题:C99 long double 的一个问题。。
取消只看楼主 加入收藏
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
结帖率:97.78%
收藏
 问题点数:0 回复次数:1 
C99 long double 的一个问题。。
我现在正在看<C Primer Plus>这本书,看到了第60页的地方,有这么一个题目,也不算是题目,反正就是这种示范。
程序代码:
#include <stdio.h>

 
int main(void){
  float aboat=32000.0;
  double abet=2.14e9;
  long double dip=5.32e-5;

 
  printf("%f can be writen %e\n",aboat,aboat);
  printf("%f can e written %e\n",abet,abet);
  printf("%f can be written %e\n",dip,dip);
  getch();
  return 0;
}


他的输出结果是:
32000.000000 can be writen 3.200000e+04
2140000000.000000 can e written 2.140000e+09
0.000053 can be written 5.320000e-05
就是上面这句出了问题。
我这里的输出结果确是:
32000.000000 can be writen 3.200000e+04
2140000000.000000 can e written 2.140000e+09
-195022851250969750000000000000000000000000000000000000000000000000000000000000000 can be written 2.725000e+002
怎么回事?
为什么输出结果错了?
但是我把程序中的
long double dip=5.32e-5;
改成
double dip=5.32e-5;
输出结果就正确了。望高手解答。
收到的鲜花
  • 广陵绝唱2008-12-15 02:26 送鲜花  49朵   附言:这个问题很特殊。
搜索更多相关主题的帖子: double long 
2008-12-14 22:25
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
那头文件应该是什么呢?

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-12-15 13:38
快速回复:C99 long double 的一个问题。。
数据加载中...
 
   



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

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