C語言中,單精度浮點型為float, 雙精度浮點型為double。具體區(qū)別如下: 占用字節(jié)空間不同。一個float變量占用四字節(jié),一個double類型變量,一般占用8字節(jié)。 表示范圍不同。float表示范圍為-4E-38~4E+38。
創(chuàng)新互聯(lián)自2013年起,先為海城等服務(wù)建站,海城等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為海城企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
單精度型和雙精度型的區(qū)別在于它們的精確程度不一樣,也就是小數(shù)部分的有效位數(shù)不一樣。
指代不同 單精度:是指計算機表達實數(shù)近似值的一種方式。雙精度:此數(shù)據(jù)類型與單精度數(shù)據(jù)類型(float)相似,但精確度比float高。
,精度不同。 float在表示十進制時,有效數(shù)字為6到7位。double在表示十進制時,有效數(shù)字為15到16位。,輸入輸出格式不同。在C語言中,輸入輸出格式化字符串,float使用%f,而double使用%lf。
單精度,也就是 float ,在 32 位機器上用 4 個字節(jié)來存儲的;而雙精度都是用 8 個字節(jié)來存儲的。這是他們最本質(zhì)的區(qū)別。
十進制要轉(zhuǎn)2進制運算,再轉(zhuǎn)回十進制輸出,所以有截斷誤差。float 有效數(shù)字 精度 為 7 位。
單精度數(shù)(float型)在32位計算機中存儲占用4字節(jié),也就是32位,有效位數(shù)為7位,小數(shù)點后6位;雙精度數(shù)(double型)在32位計算機中存儲占用8字節(jié),也就是64位,有效位數(shù)為16位,小數(shù)點后15位。
雙精度是1位符號,11位指數(shù),52位小數(shù)。
單精度和雙精度顧名思義是兩種精度的不同劃分,單精度float是保證7位有效數(shù)字,double是保證16位有效數(shù)字。
實型常量又稱實數(shù)或浮點數(shù)。在C語言中可以用單精度型和雙精度型兩種形式表示實型常量,分別用類型名float和double進行定義。
FloatNumber=6E10F; /*有符號浮點型*/ LongDoubleNumber=45L; /*長雙精度型*/ 后綴可大寫也可小寫。說明: 浮點常數(shù)只有一種進制(十進制)。 所有浮點常數(shù)都被默認為double。
C語言中,實型變量分為兩類:單精度型和雙精度型。其類型說明符分別為:float,double。 單精度型占4個字節(jié)(32位)內(nèi)存空間,其數(shù)值范圍為4E-38~4E+38,只能提供七位有效數(shù)字。
C語言用scanf()函數(shù)輸入雙精度數(shù)據(jù)時,采用的數(shù)據(jù)格式參數(shù)必須是%lf,如:double d;scanf(%lf, &d );scanf(%f,%f,&a,&b);不能輸入雙精度數(shù)據(jù)嗎?當(dāng)然不能。
可以寫,%0.8f,這樣就是輸出8個有效數(shù)字了,要輸出幾位就改0.后面的參數(shù)。注意:如果是(輸入scanf)的輸入項為double時,則必須用%lf或%le(必須有個l)作為格式描述字符。位于輸入項為float與上面的一致。
雙精度浮點數(shù)是C語言的基本類型之一,關(guān)鍵字為double。每個double類型數(shù)字占8個字節(jié)。
單精度和雙精度顧名思義是兩種精度的不同劃分,單精度float是保證7位有效數(shù)字,double是保證16位有效數(shù)字。
因為精確些更好,精確度有個累計誤差的問題,所以編譯器用了最高精度,以確保運算的正確性。
單精度型和雙精度型的區(qū)別在于它們的精確程度不一樣,也就是小數(shù)部分的有效位數(shù)不一樣。
C語言中用float描述單精度,用double描述雙精度。
雙精度浮點型數(shù)據(jù)用%lf輸出。因為double是8個字節(jié)的,float是4個字節(jié)的,%f 的格式就是4個字節(jié)的,而 %lf 就是8個字節(jié)的。
c語言中用printf輸出是區(qū)分單精度和雙度的。如果用戶在函數(shù)定義時定義為雙精度,最后用printf輸出時既可以用printf(%lf,a);也可以用printf(%f,a)輸出。
完整輸出double形數(shù)據(jù),使用%f格式。C99標準規(guī)定用%f輸出double類型,%lf等價于%f(可以在%和字母之間加小寫字母l, 表示輸出的是長型數(shù))。示例代碼如下圖:g把輸出的值按照%e或者%f類型中輸出長度較小的方式輸出。
輸出浮點數(shù)可以使用的轉(zhuǎn)換說明符是%f和%e。%f顯示小數(shù)表示的普通浮點數(shù),%e顯示科學(xué)計數(shù)法表示的浮點數(shù)。輸出雙精度(double)類型時,還需要在轉(zhuǎn)換字符前加上字母l。
)得到的是字節(jié)數(shù)。例如 單精度 float ,可以通過以下兩種求出 float a;printf(%d\n,sizeof(float)); //sizeof(float) 法一printf(%d\n,sizeof(a)); //sizeof(a) 法二其他同理。
用%lf,%f是單精度的,其實最好都用雙精度的,單精度的輸出有問題,只有6位有效數(shù)字。
在C語言中,一個標準的函數(shù)定義語句塊必須包含函數(shù)返回值的類型標識符、函數(shù)名、形參類型及數(shù)量、函數(shù)體、返回值表達式。如果函數(shù)返回值類型為 void (即無返回值)。
在C語言中,函數(shù)只能返回一個值,要返回兩個值,可以改換思路,通過其它方式做到。1 建立數(shù)組,返回指針。
在C語言中,一般情況下函數(shù)的返回值是通過函數(shù)中的return語句來實現(xiàn)的,每調(diào)用一次return語句只能從函數(shù)中返回一個值。
通過使用指針,在函數(shù)調(diào)用時,傳遞帶有地址的參數(shù),并使用指針更改其值;這樣,修改后的值就會變成原始參數(shù)。
選擇A.f(double x)的意思是x為函數(shù)f的形式參數(shù)。a+=f((double)i)的意思是將i值轉(zhuǎn)化為double類型后傳遞個函數(shù)f,并將函數(shù)運行的結(jié)果累加到a值上。
樓下真牛逼,恐怕是怪獸大學(xué)畢業(yè)的吧。推薦做法 把函數(shù)聲明寫成這樣int func(int* ret1,int* ret2)這樣就可以用ret1和ret2來返回信息了,事實上,scanf函數(shù)就是這樣的一個例子。