C說話double和float 實例剖析。本站提示廣大學習愛好者:(C說話double和float 實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話double和float 實例剖析正文
小數也稱實數或浮點數。例如,0.0、75.0、4.023、0.27、-937.198 都是正當的小數。這是罕見的小數的表示情勢,稱為十進制情勢。
除十進制情勢,也能夠采取指數情勢,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小數都可以用指數情勢來表現。
C說話中的小數也有這兩種表現情勢。在書寫時,十進制情勢和數學中的一樣,指數情勢有所差別。
在C說話中小數的指數情勢為:
aEn 或 aen
a 為尾數部門,是一個十進制數,n 為指數部門,是一個十進制整數,E或e是固定的字符,其值為 a×10n。例如:
2.1E5 = 2.1×105,個中2.1是尾數,5是指數。
3.7E-2 = 3.7×10-2,個中3.7是尾數,-2 是指數。
0.5E7 = 0.5×107,個中0.5是尾數,7是指數。
C說話中小數的數據類型為 float 或 double:float 稱為單精度浮點數,double 稱為雙精度浮點數。不像整數,小數的長度一直是固定的,float 占用4個字節,double 占用8個字節。
10 是固定的,不須要在內存中表現出來。正負號、指數(n)、尾數(a) 是變更的,須要占用內存空間來表現。
float、double 在內存中的情勢以下所示:
輸入 float 應用 %f 掌握符,輸入 double 應用 %lf 掌握符,以下所示:
#include <stdio.h> #include <stdlib.h> int main() { float a=128.101; float b=0.302f; float c=1.23002398f; double d=123; double e = 78.429; printf("a=%f \nb=%f \nc=%f \nd=%lf \ne=%lf\n", a, b, c, d, e); system("pause"); return 0; }
運轉成果:
a=128.100998
b=0.302000
c=1.230024
d=123.000000
e=78.429000
對代碼的解釋:
1) %f 默許保存六位小數,缺乏六位以 0 補齊,跨越六位按四捨五入截斷。
2) 將整數賦值給 float 變量時會轉換為小數。
3) 小數默許為 double 類型,加上後綴f才是float類型。
4) 因為內存無限,小數的精度受限,所以輸入 a 時只能取得一個近似數。
以上就是對C說話中double 和float 停止的具體剖析、比擬,願望能贊助進修這塊內容的同窗。