㈠ 在c语言浮点型数据中什么是规范化的指数形式,那怎样又是不规范化的指数形式请问是如何定义的
必须有.和e,e后面的是整数。。。。
1.2.E12合法
.E12合法
E12不合法
1.2E1.2不合法
㈡ 编程求助:接受c语言,vbs,或者excel 能出结果就行
c语言的
#include<stdio.h>
intmain(){
longlongpswd;
inti;
scanf("%lld",&pswd);
for(i=0;i<100;i++){
pswd<<=1;
if(pswd>=1e12)
pswd/=10;
}
printf("%lld ",pswd);
return0;
}
㈢ c语言改错题 有关求一元二次方程ax2+bx+c=0的两个实根
(1)的方法是错的,因为float精度有限,最多只能保存7位有效数字,所以b的值在计算机中保存的实际上是-1.0e+12,那个额外的1是没法保存下来的,不信的话,你可以用下面的代码测试下.
#include <math.h>
#include <stdio.h>
void main( )
{float a,b;
a=1.0e+12+1.0;
b=1.0e+12;
printf("%e\n",a-b);
}
同理,求出的p值理论上应该是sqrt((1e12-4)*1e12),但因为4与1e12相比实在太小,在float的精度下是没法记录的,所以计算机中保存的p值和-b的值是一样的,都是-1e12,所以-b-p只能得到0.求出的x2是0,而正解应该是1.
(3)用了double,精度足够大,可以保存15-16位有效数字,因此b,p的值都是相对精确的,求出的解是正确的.
(2)用了个小技巧,确保了不做-b和p值的减法,而只做加法,这样不会因为float精度不够导致两个理论上有较小差距的数,相减时产生差为0的情况.
㈣ C语言中 e表示什么 例如2e12 这表示什么 求指教
应该是2乘以10的12次方。也就是2,000,000,000,000
㈤ C语言怎样输出1e12中的12
假设float a=1e12;
你可以用:
printf("%d\n",(int)(log(a)/log(10));
就能输出12了。
有什么问题请留言。
㈥ C语言公共知识
浮点数在计算机中有一部分可以表示精确,另一大部分都是近似值。A与A+1都是用某个相同的近似值来表达的,因此,A+B即A+1与A是一样的,加上C后就是0。
同样A+C得到0,而0+1的结果是可以表示的,因此可以得到1。
其实,若果在计算机中选用那些超长类型浮点的话还是可以得到相同结果的,因为能够表示出A+1.
具体可以参看机器级数字表示。
㈦ 用c 语言编程计算小明有N元钱(小于亿万),他想,如果每年有一倍的收益,多少年后他成为亿万富翁
#include<stdio.h>
int main()
{ double n;
int y;
scanf("%lf",&n);
for(y=0;n<1e12;y++)
n+=n;
printf("%d years ",y);
return 0;
}
㈧ c语言解一元二次方程 可以运行…但是…为啥不管我输入啥数字结果都是“错!”………………
只能保存7位有效数字,所以b的值在计算机中保存的实际上是-1.0e+12,那个额外的1是没法保存下来的,不信的话,你可以用下面的代码测试下.
#include <math.h>
#include <stdio.h>
void main( )
{float a,b;
a=1.0e+12+1.0;
b=1.0e+12;
printf("%e\n",a-b);
}
同理,求出的p值理论上应该是sqrt((1e12-4)*1e12),但因为4与1e12相比实在太小,在float的精度下是没法记录的,所以计算机中保存的p值和-b的值是一样的,都是-1e12,所以-b-p只能得到0.求出的x2是0,而正解应该是1.
(3)用了double,精度足够大,可以保存15-16位有效数字,因此b,p的值都是相对精确的,求出的解是正确的.
(2)用了个小技巧,确保了不做-b和p值的减法,而只做加法,这样不会因为float精度不够导致两个理论上有较小差距的数,相减时产生差为0的情况.
㈨ C语言中1.2E02 是什么意思
这个是科学计数法
表示1.2乘以10的5次方
数学表达式是
1.2*10*10*10*10*10
在c语言中用来表示单精度和双精度常量
㈩ 用C语言写了个数学公式出现error C2064: term does not evaluate to a function
double N,Ra,S,S12;
S12=579.5888;
// a没有定义,也没有赋值,b没有定义和赋值,e12没有定义和赋值,B1没有定义和赋值
N=a*a/(b*sqrt(1+e12*cos(B1)*cos(B1)));
// A1没有定义和赋值
Ra=N/(1+e12*cos(B1)*cos(B1)*cos(A1)*cos(A1));
// H1、H2没有定义和赋值
S=S12*sqrt((1-(H2-H1)*(H2-H1)/(S12*S12))/((1+H1/Ra)(1+H2/Ra)))+S12*S12*S12/(24*Ra*Ra);
//S=S12*sqrt((1-((H2-H1)/S12)*((H2-H1)/S12))/((1+H1/Ra)(1+H2/Ra)))+S12*S12*S12/(24*Ra*Ra);
printf("大地线长度S=%lf\n",S);