C語言中什么時(shí)候用double什么時(shí)候用float?怎樣保留兩位小數(shù)?
double比float的精度更高,,什么時(shí)候用要看實(shí)際情況了,。float和double的精度是由尾數(shù)的位數(shù)來決定的。浮點(diǎn)數(shù)在內(nèi)存中是按科學(xué)計(jì)數(shù)法來存儲(chǔ)的,其整數(shù)部分始終是一個(gè)隱含著的“1”,,由于它是不變的,故不能對(duì)精度造成影響,。
C語言怎么保留兩位小數(shù),,如果不定義的話,那么就會(huì)默認(rèn)不是兩位小數(shù),,那么需要輸出內(nèi)容保留小數(shù),,實(shí)際上可以對(duì)浮點(diǎn)型進(jìn)行設(shè)置的。首先打開IDE,,接著保存main.c文件,。這個(gè)時(shí)候把內(nèi)容輸出,設(shè)置浮點(diǎn)型,。也就是%f,。但是輸出的時(shí)候默認(rèn)有多位小數(shù)。
默認(rèn) 數(shù)字寫出的常量 是 double 型,。如果 是 float 型,, 必須加 1個(gè) 后綴 f 表示。f 是 float 的意思,。double 型 可加 1個(gè) 后綴 l 表示,。 l 是 long float 的意思。例如:0 是 double 型,, 0l 是 double 型,, 0f 是 float 型。這是一種約定,,或是 規(guī)定,。
在標(biāo)準(zhǔn)C語言中,,浮點(diǎn)數(shù)有單精度浮點(diǎn)數(shù)(float)和雙精度浮點(diǎn)數(shù)(double)兩種,有的C版本還支持第三種長(zhǎng)雙精度浮點(diǎn)數(shù)(long double),。解決方法如下:首先,,定義一個(gè)雙精度數(shù)n,用來保存被除數(shù),。接著,,定義一個(gè)單精度數(shù)t,做為除數(shù),。由于double數(shù)和float數(shù)相除,,結(jié)果是double數(shù)。
區(qū)別:精度不一樣,,float是單精度,,double是雙精度;表示小數(shù)的范圍不一樣,,double能表示的范圍比float大,;double在內(nèi)存中,占8個(gè)字節(jié),,float在內(nèi)存中,,占4個(gè)字節(jié)。float:浮點(diǎn)型數(shù)據(jù)類型,,F(xiàn)LOAT 數(shù)據(jù)類型用于存儲(chǔ)單精度浮點(diǎn)數(shù)或雙精度浮點(diǎn)數(shù),。浮點(diǎn)數(shù)使用 IEEE(電氣和電子工程師協(xié)會(huì))格式。
舉個(gè)例子,,對(duì)于數(shù)值9999996666,,如果用float類型存儲(chǔ)并輸出,可能結(jié)果會(huì)是999999,。然而,,當(dāng)使用double類型存儲(chǔ)時(shí),輸出結(jié)果可能為9999996666,。這主要是因?yàn)镃語言默認(rèn)的輸出精度限制為6位,,所以兩種類型在默認(rèn)輸出時(shí)看起來并無明顯區(qū)別。