C語言實(shí)型數(shù)據(jù)
實(shí)型數(shù)據(jù)也稱為浮點(diǎn)數(shù)或?qū)崝?shù)。在C語言實(shí)型數(shù)據(jù)只采用十進(jìn)制。它有二種形式:十進(jìn)制小數(shù)形式和指數(shù)形式。今天,小編為大家搜索整理了C語言實(shí)型數(shù)據(jù),希望大家能有所收獲,更多精彩內(nèi)容請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
實(shí)數(shù)的表示
1) 十進(jìn)制數(shù)形式
由數(shù)碼0~ 9和小數(shù)點(diǎn)組成。 例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均為合法的實(shí)數(shù)。
注意,必須有小數(shù)點(diǎn)。
2) 指數(shù)形式
由十進(jìn)制數(shù),加階碼標(biāo)志“e”或“E”以及階碼(只能為整數(shù),可以帶符號(hào))組成。其一般形式為:
a E n(a為十進(jìn)制數(shù),n為十進(jìn)制整數(shù))
其值為 a*10n。如:
2.1E5 (等于2.1*105)
3.7E-2 (等于3.7*10-2)
0.5E7 (等于0.5*107)
-2.8E-2 (等于-2.8*10-2)
以下不是合法的'實(shí)數(shù):
345 (無小數(shù)點(diǎn))
E7 (階碼標(biāo)志E之前無數(shù)字)
-5 (無階碼標(biāo)志)
53.-E3 (負(fù)號(hào)位置不對(duì))
2.7E (無階碼)
【例3-5】輸出實(shí)數(shù)。
#includeint main(void){ printf("%f\n ",356.); printf("%f\n ",356); printf("%f\n ",356.0); return 0;}
3) 實(shí)數(shù)在內(nèi)存中的存放形式
實(shí)數(shù)一般占4個(gè)字節(jié)(32位)內(nèi)存空間。按指數(shù)形式存儲(chǔ)。實(shí)數(shù)3.14159在內(nèi)存中的存放形式如下:
說明:
小數(shù)部分占的位(bit)數(shù)愈多,數(shù)的有效數(shù)字愈多,精度愈高。
指數(shù)部分占的位數(shù)愈多,則能表示的數(shù)值范圍愈大。
實(shí)型變量
實(shí)型變量分為:?jiǎn)尉?float型)、雙精度(double型)和長雙精度(long double型)三類。
在VC6.0中單精度型占4個(gè)字節(jié)(32位)內(nèi)存空間,其數(shù)值范圍為3.4E-38~3.4E+38,只能提供七位有效數(shù)字。雙精度型占8 個(gè)字節(jié)(64位)內(nèi)存空間,其數(shù)值范圍為1.7E-308~1.7E+308,可提供16位有效數(shù)字。
類型說明符比特?cái)?shù)(字節(jié)數(shù))有效數(shù)字?jǐn)?shù)的范圍
float32(4)6~710-37~1038
double64(8)15~1610-307~10308
long double128(16)18~1910-4931~104932
實(shí)型變量定義的格式和書寫規(guī)則與整型相同。例如:
float x,y; // x,y為單精度實(shí)型量double a,b,c; // a,b,c為雙精度實(shí)型量
實(shí)數(shù)的舍入誤差
由于實(shí)數(shù)是由有限的存儲(chǔ)單元組成的,因此能提供的有效數(shù)字總是有限的。如下例。
【例3-6】實(shí)數(shù)的舍入誤差。
#includeint main(void){ float a,b; a=123456.789e5; b=a+20; printf("a=%f\n",a); printf("b=%f\n",b); return 0;}
注意:1.0/3*3的結(jié)果并不等于1。
【例3-7】
#includeint main(void){ float a; double b; a=33333.33333; b=33333.33333333333333; printf("a=%f\nb=%f\n",a,b); return 0;}
從本例可以看出:
由于a 是單精度浮點(diǎn)型,有效位數(shù)只有七位。而整數(shù)已占五位,故小數(shù)二位后之后均為無效數(shù)字。
b 是雙精度型,有效位為十六位。但VC6.0規(guī)定小數(shù)后最多保留六位,其余部分四舍五入。
注意:實(shí)型常數(shù)不分單、雙精度,都按雙精度double型處理。
【C語言實(shí)型數(shù)據(jù)】相關(guān)文章:
2.C語言一堆數(shù)據(jù)教案設(shè)計(jì)
3.C語言以數(shù)據(jù)塊的形式讀寫文件實(shí)例代碼
7.C語言程序介紹