C語言入門之浮點數(shù)
實際開發(fā)中使用double,而不使用float

浮點數(shù)的輸出
float采用%f占位符。
double采用%lf占位符。測試結(jié)果證明,double不可以用%f輸入,但可以用%f輸出,但是不建議采用%f,因為不同的編譯器可能會有差別。
long double采用%Lf占位符,注意,L是大寫。
浮點數(shù)輸出缺省顯示小數(shù)點后六位。
浮點數(shù)采用%lf輸出,完整的輸出格式是%m.nlf,指定輸出數(shù)據(jù)整數(shù)部分和小數(shù)部分共占m位,其中有n位是小數(shù)。如果數(shù)值長度小于m,則左端補空格,若數(shù)值長度大于m,則按實際位數(shù)輸出。
常用的庫函數(shù)
在接下來的內(nèi)容中,我只介紹double,不再介紹float和long double兩種數(shù)據(jù)類型相關(guān)的知識。
以下是常用的浮點數(shù)函數(shù),必須掌握。
double atof(const char *nptr);???????? // 把字符串nptr轉(zhuǎn)換為doubledouble fabs(double x);??????????????? // 求雙精度實數(shù)x的絕對值double pow(double x, double y);?????? // 求 x 的 y 次冪(次方)double round(double x);?????????????? // double四舍五入double ceil(double x);??????????????? // double向上取整數(shù)double floor(double x);?????????????? // double向下取整數(shù)double fmod(double x,double y);?????? // 求x/y整除后的雙精度余數(shù)
// 把雙精度val分解成整數(shù)部分和小數(shù)部分,整數(shù)部分存放在ip所指的變量中,返回小數(shù)部分。double modf(double val,double *ip);
使用floor函數(shù)。floor(x)返回的是小于或等于x的整數(shù)。
如: floor(10.5) == 10 floor(-10.5) == -11。
使用ceil函數(shù),ceil(x)返回的是大于x的整數(shù)。
還有一些數(shù)據(jù)計算函數(shù),如正弦、對數(shù)、指數(shù)等,實際開發(fā)中極少使用,大家要用的時候再查資料,我就不介紹了。
整數(shù)與浮點數(shù)的轉(zhuǎn)換
在浮點數(shù)的取值范圍內(nèi),整數(shù)轉(zhuǎn)換為浮點數(shù)不會有精度的損失,浮點數(shù)轉(zhuǎn)換為整數(shù)后,會丟棄小數(shù)位。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
詳解C++中typedef 和 #define 的區(qū)別
這篇文章主要介紹了C++中typedef 與 #define 的區(qū)別,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
C語言關(guān)于自定義數(shù)據(jù)類型之枚舉和聯(lián)合體詳解
枚舉顧名思義就是把所有的可能性列舉出來,像一個星期分為七天我們就可以使用枚舉,聯(lián)合體是由關(guān)鍵字union和標(biāo)簽定義的,和枚舉是一樣的定義方式,不一樣的是,一個聯(lián)合體只有一塊內(nèi)存空間,什么意思呢,就相當(dāng)于只開辟最大的變量的內(nèi)存,其他的變量都在那個變量占據(jù)空間2021-11-11
C語言數(shù)據(jù)結(jié)構(gòu)之圖的遍歷實例詳解
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之圖的遍歷實例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07
C++數(shù)據(jù)結(jié)構(gòu)之紅黑樹的實現(xiàn)
紅黑樹在表意上就是一棵每個節(jié)點帶有顏色的二叉搜索樹,并通過對節(jié)點顏色的控制,使該二叉搜索樹達到盡量平衡的狀態(tài)。本文主要為大家介紹了C++中紅黑樹的原理及實現(xiàn),需要的可以參考一下2022-08-08

