㈠ 在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);