lssq.net
当前位置:首页>>关于关于C语言中的科学计数法问题.的资料>>

关于C语言中的科学计数法问题.

double a = 3.5e2; double a = 3.5e0; double a = 3.5e-2; 只能是字面常量,而且必须是整数,正负0均可。。 double a = 3.5e2.1; // 小数不行。。 double a = 3.5e; // 没有指数也不行。。 int i = 2; double a = 3.5ei; // 变量也不行。。

e+002 表示10 的2次方。 科学计数法, 用e 表示10 , 加号表示正整数次方, 减号,表示负整数次方, 这里就是等于 123.456

1、1e-10是C/C++规定的浮点数的科学计数写法,意思是1.0x10的-10次方。这个记数法有一些要求,一是e前面整数部分为1位的浮点数,如1.0、3.3、9.999978901等(但不按这个规则写,如123.4E-3编译器也认可);二时e可以大写也可以小写;三是e后面紧跟...

#include #include #include main(){ int i,j=0,k=1; double qian,wan; int hou; char *q,*h,*p,chao1,chao2; printf("please Input :"); scanf("%s",p); for(i=0;*(p+i)!='\0';i++){ if(*(p+i)=='E'||*(p+i)=='e'){ k=2; continue; } if(k==1){...

e后面表示的是指数。+是正数,指数一般是用三位来表示不足三位用0补齐。 1.234e+04是1.234*10^4

给你举几个例子: 920000 对应的 科学计数法为 9.2E+5 E+5代表的是10的5次方(+号也可以省略) 0.092 对应的 科学计数法为 9.2E-2(-号不能省略) E-2代表的是10的-2次方 这样你能理解吗?

double a = 1.2e5 char buf[100] sprintf(buf, "%e", a);/*先sprintf %e 输出到字符数组,然后再去对字符数组里的字符串做适当的调整*/ .......剩下的代码就是看你字符串 处理 功力了

需要用大整数运算,结果一般用char数组保存,输出的时候需要用循环。 用char数组保存的时候,最好不要用'0'-'9'来表示,直接用'\0'-'\9'表示,这样运算性能比较高。

精度不够 2.23456789123456789123456789 e 20 2.23456789123456770000 223456789123456760000.000000 第二个数是a输入后的打印结果,double支持不了这么多精度。不要输入精度这么高的就没有问题。

网站首页 | 网站地图
All rights reserved Powered by www.lssq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com