C語言中的實(shí)型變量分為單精度(float)和雙精度(double)兩種。對(duì)每一個(gè)實(shí)型變量在使用前都必須進(jìn)行定義。如:
下面是單精度實(shí)型變量的定義方法:
float x,y; /*指定x,y為單精度實(shí)數(shù)*/
float f1,f2; /*定義了兩個(gè)單精度的實(shí)型變量f1和f2*/
下面是雙精度實(shí)型變量的定義方法:
double d1,d2;/*定義d1和d2為雙精度實(shí)數(shù)*/
在一般系統(tǒng)中,一個(gè)單精度(float)型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位);一個(gè)雙精度(double)型數(shù)據(jù)在內(nèi)存總占8個(gè)字節(jié)(64位)。單精度實(shí)數(shù)提供7位有效數(shù)字,雙精度提供15~16位有效數(shù)字,數(shù)值的范圍隨機(jī)器系統(tǒng)而異。
在VC6.0中,單精度數(shù)的取值范圍為:-1038~1038之間;雙精度數(shù)的取值范圍大約為:-10-308~10308。并且,在VC6.0中,所有的float類型的數(shù)據(jù)在運(yùn)算過程中都自動(dòng)轉(zhuǎn)換成double類型的數(shù)據(jù)。
值得注意的是,實(shí)型常量是double型,當(dāng)把一個(gè)實(shí)型常量賦給一個(gè)float型變量時(shí),系統(tǒng)會(huì)截取相應(yīng)的有效位數(shù)。例如
float a=111111.111;
由于float型變量只能接收7位有效數(shù)字,因此最后兩位小數(shù)不起作用。如果將a改為double型,則能全部接收上述9位數(shù)字并存儲(chǔ)在變量a中。
新聞熱點(diǎn)
疑難解答