關於c語言中double與float的字元位數問題

2025-02-07 12:35:08 字數 2964 閱讀 8929

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...