1樓:網友
printf("%4lf \t\t\t%.4f",d,f);/設定小數點4位。
printf("%12lf \t\t%.12f",d,f);/設定小數點12位。
printf("%16lf \t%.16f",d,f);/設定小數點16位。
printf("%32lf \t%.32f",d,f);/設定小數點32位。
float的指數位有8位,而double的指數位有11位,當設定小數點位數多餘指數位時顯示資料變會不準確,難道你執行程式時沒有看見警告嗎。
2樓:網友
double的有效位數是15,float的有效位數是6。所以超過這個位數,就不可靠了。
第乙個列印,都在有效位數內,都是可靠的,所以是一樣的。
第二個列印,float超出了有效位數,不可靠了,兩個就不一樣了。
位數太少?如果結果的位數較少,比如1/4,那麼,後面會自動補0,顯示結果就是一樣的了。
3樓:網友
其實很少情況要用double,某些c編譯器視double為float,過度研究這個沒有用的。
c語言中float型小數點後面幾位
4樓:小小綠芽聊教育
用定點格式。
float 型 %.2f 就是小數2位, %1f 就是小數1位。
double 型 用 %.2f 就是小數2位, %1f 就是小數1位。
double 型 用 %.2lf 就是小數2位, %1lf 就是小數1位。
c語言中怎麼區別表示式的結果資料型別是double還是float?
5樓:
摘要。你好 c語言中,float和double都屬於浮點數。區別在於:double所表示的範圍,整數部分範圍大於float,小數部分,精度也高於float。
c語言中怎麼區別表示式的結果資料型別是double還是float?
你好 c語言中,float和double都屬於浮點數。區別在於:double所表示的範圍,整數部分範圍大於float,小數部分,精度也高於float。
舉個例子:圓周率 這個數字,如果用float來表示,最多隻能精確到小數點後面的6位。而double大約能精確到小數點後面的15位左右。
如何將double轉換成float型別
6樓:教育小百科達人
如果不考慮丟失問題:
浮點變數可以提公升為更大基數的型別(從 float 型別到 double 型別)。當您對浮點變數執行算術時,通常會出現提公升。此算術始終以與具有最高精度的變數一樣高的精度執行。
例如,請考慮下列型別宣告:
float f_short;double f_long;long double f_longer;f_short = f_short * f_long;
在前面的示例中,變數f_short提公升到型別 double 並且與f_long相乘;然後,結果舍入到型別 float,然後賦給f_short。
7樓:
double 轉換成float, 如果數值沒有超界,例子如下:
void main()
double a=;
float b;
b = (float) a;
printf("%f",b);
如果數值範圍超界,則不應轉換。
8樓:網友
你要從double跟float申請的儲存空間來理解。
c語言中double申請的記憶體空間是float的兩倍,如果你強制轉換會使資料丟失,只取後面的位數。
如果必須要轉換,強制型別轉換符為(float)比如樓上寫的b = (float) a;
9樓:專業知識來幫你
float f = ;
double d =
直接轉換會設計到精度問題,所以需要藉助字串 保證不丟失資料。
10樓:要你子夜來來
是轉換成float型別,而不是double。
後面不加f的float a = ;這種,浮點數自動認為是double型別,但是定義的float,所以會有型別轉換。
c語言中的小數float,double
11樓:亞浩科技
程式設計就是讓計算機按照一定的指令來進行工作,可以說資料的處理是程式設計的主要任務。那麼,c語言中的小數(float,double)怎麼輸出?歡迎大家閱讀!
小數也稱實數或浮點數。嫌茄明例如.27、 都是合法的小數。這是常見的小數的表現形式,稱為十進位形式。
除了十進位形式,也可以採用指數形式,例如.22×10-2等。任何小數都可以用指數形式來表示。
c語言中的小數也有這兩種表示形式。在書寫時,十進位形式和數學中的一樣,指數形式有所差異。
在c語言中小數的芹告指數形式為:
aen 或 aen
a 為尾數部分,是乙個十進位數,n 為指數部分,是乙個十進位整數,e或e是固定的字元,其值為 a×10n。例如:
納滲 = ,其中是尾數,5是指數。
其中是尾數,-2 是指數。,其中是尾數,7是指數。
c語言中小數的。資料型別為 float 或 double:float 稱為單精度浮點數,double 稱為雙精度浮點數。
不像整數,小數的長度始終是固定的,float 佔用4個位元組,double 佔用8個位元組。
小數的輸出
輸出 float 使用 %f 控制符,輸出 double 使用 %lf 控制符,如下所示:
#include#includeint main()
執行結果:a=
b=c=d=e=對**的說明:
1) %f 預設保留六位小數,不足六位以 0 補齊,超過六位按四捨五入截斷。
2) 將整數賦值給 float 變數時會轉換為小數。
c語言中的double和,C語言中的double和float
double與float的區別在於bai在記憶體中存放數du據時占用的記憶體不一樣 zhi,前者dao8位元組,後者4位元組,也就回是前者儲存的小數字數答 比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999,...
關於c語言中關於C語言中和的用法
和 都是邏輯表示式裡常用的,一般用法是 if 表示式1 表示式2 或者 if 表示式1 表示式2 表示 或 滿足其中乙個,整個表示式就為真,就滿足if判定的條件 例如 if 1 0 std cout hello n 輸出為hello 表示 且 if括號內的表示式都為真 才能滿足if判定的條件 才會執...
關於c語言中的指標問題,關於c語言中的指標問題。
char p heir 這句話包含了2層意思,一是定義乙個指標變數p,即 char p 二是為指標變數p賦初值,即 p heir 實際是將存放字串 heir 的記憶體位址賦給p 因此這句話實際上等價於 char p p heir char p heir 這個表示定義字元指標變數p,並將存放字串 he...