C語言實用知識之浮點數

1.  基本概念

  • float只能表達6-7位的有效數字,不能用“==”判斷兩個數字是否相等。
  •       double能表達15-16位有效的數字,可以用“==”判斷兩個數字是否相等。
  •       long double和double的特徵相同。

在實際開發中,建議棄用float,只採用double就可以,long double暫時沒有必要。浮點數採用%lf輸出,完整的輸出格式是%m.nlf,指定輸出數據整數部分和小數部分共佔m位,其中有n位是小數。如果數值長度小於m,則左端補空格,若數值長度大於m,則按實際位數輸出。

2. 必須掌握的庫函數

 double atof(const char *nptr);       // 把字符串nptr轉換爲double

double fabs(double x);               // 求雙精度實數x的絕對值

double pow(double x, double y);     // 求 x 的 y 次冪(次方)

double round(double x);              // double四捨五入

double ceil(double x);                 // double向上取整數

double floor(double x);               // double向下取整數

double fmod(double x,double y);     // 求x/y整除後的雙精度餘數

double modf(double val,double *ip); // 把雙精度val分解成整數部分和小數部分,整數部分存放在ip所指的變量中,返回小數部分。

3.應用技巧

在實際開發中,我們經常用整數代替浮點數,因爲整數是精確的,效率也更高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章