| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1828 人关注过本帖
标题:[菜鸟的问题]请问e/E的用法
只看楼主 加入收藏
SuperStar515
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2006-12-24
收藏
 问题点数:0 回复次数:17 
[菜鸟的问题]请问e/E的用法

#include <stdio.h>

void main ()
{
float value = 1.23456;

printf ("%12.1e\n", value);
printf ("%12.3e\n", value);
printf ("%12.5e\n", value);
}


#include <stdio.h>

void main ()
{
float pi = 3.14159;
float radius = 2.0031;

printf("The circle's area is %e\n", 2 * pi * radius);
printf("The circle's area is %E\n", 2 * pi * radius);
}


请问这个e/E的用法和功能是怎么样的呢?

[此贴子已经被作者于2007-1-11 16:23:07编辑过]

搜索更多相关主题的帖子: 用法 printf radius 
2007-01-11 16:18
SuperStar515
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2006-12-24
收藏
得分:0 

第一个程序里%12.1e,结果表示为1位有效数字 这里12表示什么意思啊??
第二个程序里%e,结果表示为6位有效数字 为什么呢??%与e之间不加数字,默认为6位有效数字?


喜欢等待,因为等待是一门需要花费一生才能读懂的艺术。等待。。。
2007-01-11 16:44
SuperStar515
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2006-12-24
收藏
得分:0 

喜欢等待,因为等待是一门需要花费一生才能读懂的艺术。等待。。。
2007-01-11 17:55
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
收藏
得分:0 
以下是引用SuperStar515在2007-1-11 16:44:34的发言:

第一个程序里%12.1e,结果表示为1位有效数字 这里12表示什么意思啊??

转换说明符e和E分别在指数前面打印小写字母e和大写字母E,并且总是把小数点左边的数字打印出一位
12代表打印宽度。。。。。这里是右对齐


2007-01-11 18:38
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
收藏
得分:0 
默认情况下,用转换说明符e,E打印出的值带6个小数位。当然也可以明确指定其他精度
如你的第一个程序,精度分别为1 3 5,所以打印出的数在小数点右边分别有1 3 5位数字。

[此贴子已经被作者于2007-1-11 18:44:44编辑过]


2007-01-11 18:43
SuperStar515
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2006-12-24
收藏
得分:0 
默认情况下,用转换说明符e,E打印出的值带6个小数位。当然也可以明确指定其他精度
如你的第一个程序,精度分别为1 3 5,所以打印出的数在小数点右边分别有1 3 5位数字。
是6位有效数字吧??
谢谢哦~~

喜欢等待,因为等待是一门需要花费一生才能读懂的艺术。等待。。。
2007-01-11 18:51
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
以下是引用SuperStar515在2007-1-11 16:44:34的发言:

第一个程序里%12.1e,结果表示为1位有效数字 这里12表示什么意思啊??
第二个程序里%e,结果表示为6位有效数字 为什么呢??%与e之间不加数字,默认为6位有效数字?

有效数字可不是这个呀!有效数字是指从左边第一个不是零的数开,到右边精确的数为止,应该是这个概念吧!呵呵!


该学习了。。。
2007-01-11 18:53
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
收藏
得分:0 
7楼说得对,精确位数和有效数字没有什么联系,不过这里由于e(E)的缘故,小数点左边只有一位数字,所以打印出来的有效数字个数是1+精确位数

2007-01-11 19:18
SuperStar515
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2006-12-24
收藏
得分:0 
结果是:
第一个程序: 1e+00
1.23e+00
1.2346e+00
第二个程序:......1.25858e+01
......1.25858E+01
从结果看,那些数字好象是有效数字位数,而不是小数位数啊?!

喜欢等待,因为等待是一门需要花费一生才能读懂的艺术。等待。。。
2007-01-11 19:36
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
收藏
得分:0 

1.2e+000
1.235e+000
1.23456e+000
我的编译输出是这个~


2007-01-11 19:40
快速回复:[菜鸟的问题]请问e/E的用法
数据加载中...
 
   



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

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