当前位置:首页 » 编程语言 » c语言表示科学计数法
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言表示科学计数法

发布时间: 2023-07-03 09:39:34

c语言中的科学计数法。。一道题

_下划线可以当成普通字母一样使用,可放成任意位置,_a跟a_一样,是变量名;
e是科计数法,如23e5,表示23*10^5,1e-1表示1*10^-1=0.1;
浮点数省略表示法:.5代表0.5,1.代表1.0
所以上面的表达式是错误的。如果改成
_a=-1.e-1就对了,此时_a=-0.1

㈡ C语言十六进制浮点数科学计数法

你的数应该这样写的 0xa.1f 10p
a是10
.1f表示1/16加上15/256
p10表示2的10次方(即1024)
即 0xa.1f 10p =10+ 1*(16的-1次方)+ 15*(16的-2次方) ×(2的10次方)
类似于十进制数1.23=1+2*10的-1次方+3*10的-2次方

㈢ c语言编程输入一个整数,输出它的十六进制、八进制、十进制、科学计数法

//C语言:
#include<stdio.h>
intmain(void)
{
inta;
scanf("%d",&a);
printf("8进制:%o 10进制:%d 16进制:%x 科学记数法:%e",a,a,a,a);
return0;
}
//C++:
#include<iostream>
usingnamespacestd;
intmain()
{
inta;
cin>>a;
cout<<endl;
cout<<"8进制:"<<oct<<a<<endl;
cout<<"10进制:"<<dec<<a<<endl;
cout<<"16进制:"<<hex<<a<<endl;
return0;
}

㈣ c语言的编程中实型常量中的科学计数法不懂,求赐教,变成数学是什么

给你举几个例子:
920000 对应的 科学计数法为 9.2E+5

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

㈤ c语言程序设计,科学计数法的问题

1)float接受十进制数字作为赋值时精度只有6位有效数字,即:
float f = 0.339062543;
std::cout<<f<<std::endl;
则输出是0.339063

2)double接受十进制数字作为赋值时精度有15位有效数字,如果想在输出时改变输出精度,可以有很多办法,例如使用setprecision():
double d = 0.339062543787323;
std::cout<<std::setprecision(15)<<d<<std::endl;
setprecision()在<iomanip>

㈥ c语言编程 科学计数法

#include<conio.h>

#include<math.h>

#include<stdlib.h>

main(){

inti,j=0,k=1;

doubleqian,wan;

inthou;

char*q,*h,*p,chao1,chao2;

printf("pleaseInput:");

scanf("%s",p);

for(i=0;*(p+i)!='';i++){

if(*(p+i)=='E'||*(p+i)=='e'){

k=2;

continue;

}

if(k==1){

*(q+i)=*(p+i);

}else{

*(h+j)=*(p+i);j++;

}

}

for(i=0,j=0;*(p+i)!='';i++){

if(*(p+i)=='.'){k=1;continue;}

if(k==1)j++;

if(j==7)chao1=*(p+i);

if(j==8){chao2=*(p+i);break;}

}

qian=atof(q);

hou=atoi(h);

wan=qian*pow(10,hou);

if(j==7)printf("resultsis%lf%c0",wan,chao1);

elseif(j==8)printf("resultsis%lf%c%c",wan,chao1,chao2);

elseprintf("resultsis%lf00",wan);

getch();

}

㈦ C语言里要对输出的结果用科学计数法表示保留三位有效数字应该怎么写啊

sorry.由于没有在计算机旁,没有及时看到你的求助,你问:C语言里要对输出的结果用科学计数法表示保留三位有效数字应该怎么写?
我觉得应该是
printf("%.3e",变量名);
而不是
printf("%3e",变量名);
==================
MSDN 中有关printf打印格式串:
%[flags] [width] [.precision] [{h | l | I64 | L}]type
的描述,其中对[.precision]是这么说的:
The third optional field of the format specification is the precision specification.
(大义:格式规约中第三个选项世厅段是关于小数的规则。)
==================
对于打印e, E类型的数据时,[.precision]选项的作用是:
The precision specifies the number of digits to be printed after the decimal point. The last printed digit is rounded.
(大义:该精度指定了打印小数点蔽神后的位数,之后的位数会被四舍五入)
Default precision is 6; if precision is 0 or the period (.) appears without a number following it, no decimal point is printed.
(大义:缺省情况下,该精度为6,如果精度值为0或者小数点后没有紧跟着数字,则不会打印小数搜并隐部分)
==================
例:
#include <stdio.h>
int main()
{
float b = 100000.55555f;
printf("%3e\n",b);
printf("%.3e\n",b);
return 0;
}
输出结果为:
1.000006e+005
1.000e+005

㈧ c语言,输出科学计数法

#include<stdio.h>
#include<string.h>

charnum[110];
charresult[110];
intlen;

intmain()
{
inti,j;
ints1,s2;//小数点位置,字符串首个非零数位置
intfind1=0;
intfind2=0;//find1:是否找到小数点位置标志位,find2:是否找到首个非零数位置,0:表示未找到
intindex;

scanf("%s",num);
len=strlen(num);//读取字符串长度

for(i=0;i<len;++i)//寻找原字符串中小数点与首个非零数的位置
{
if(find1&&find2)
break;

if(num[i]=='.'){
s1=i;
find1=1;
}
elseif(num[i]!='0'&&!find2){
find2=1;
s2=i;
}
}

if(s1-s2>0)//根据二个位置确定指数大小
index=s1-s2-1;
elseif(s2>s1)
index=s1-s2;

j=0;
for(i=s2;i<len;++i)//确定底数
{
if(num[i]=='.')
continue;
elseif(i==s2){//确定底数小数点位置

if(num[i+1]){
result[j++]=num[i];
result[j++]='.';
}
else
result[j++]=num[i];
}
else
result[j++]=num[i];
}
result[j]='';

printf("%se%d ",result,index);
return0;
}