浮點數也稱小數或實數,c語言中用float和double關鍵字來定義小數。其中float為單精度浮點型,double為雙精度浮點型。
c語言規定,float型別必須至少能夠表示6位有效數字,且取值範圍至少是10^(-37) ~ 10^37.
float型別資料表示的是乙個近似的小數,不是精確地,小數點後n位有誤差,浮點數的位數越大,誤差就越大。到了有效數字8位以後誤差位1,基本不能用。
用「==」來測試兩個整數或字元相等,但是在float型別「看似」相等的數,卻不是相等的。
double型別和float型別的足校範圍相同,但至少能必須表示10位有效數字。
double型別資料表示的是乙個近似的小數,不是精確地,小數點後n位有誤差,浮點數的位數越大,誤差就越大。到了有效數字17位以後誤差位1,基本不能用。
可以用「==」來測試兩個double型別資料是否相等。
long double型別,以滿足比double型別有更高的精度要求。不過c語言只保證long double型別至少與double型別的精度相同。
(.)點使用記憶體的情況
測試下float,double和long double占用的位元組數。
#include
#include
intmain()
執行結果:
float: 4float型別資料使用%f輸出,double型別資料使用%lf輸出,long double型別資料使用%lf輸出注意l是大寫。double: 8
long double: 16
格式化輸出
浮點數的格式化輸出形式為:%.mlf,表示小數點儲存m位。%x.mlf輸出格式為:寬度為x,小數部分為m位。
示例:
#include
#include
intmain()
執行結果:
;//將字串轉化為double
double
fabs
(double n)
;//求雙精度n的絕對值
double
pow(
double x,
double y)
;//求x的y次方
double
round
(double x)
;//將x四捨五入
double
ceil
(double x)
;//double向上取整
double
floor
(double x)
;//將x向下取整
double
fmod
(double x,
double y)
;//求x/y的雙進度餘數
double
modf
(double x,
double
*y);
//把雙精度x分加成整數部分和小數部分,整數部分放在y中,返回小數部分。
科學計數法採用%e或%e來輸出,完整的輸出格式是:%m.ne.其中m是資料的寬度,n表示小數字數。
示例:
#include
#include
intmain()
執行結果:
a= 9.881313e-324a= 9.881313e-324
C語言 基礎一 資料型別
因為要學習stm32嵌入式開發,c語言就需要重新撿起來啦 快速的過一遍c的基礎吧。在 c 語言中,資料型別指的是用於宣告不同型別的變數或函式的乙個廣泛的系統。變數的型別決定了變數儲存占用的空間,以及如何解釋儲存的位模式。c 中的型別可分為以下幾種 1 基本型別 它們是算術型別,包括兩種型別 整數型別...
c 基礎(一) 資料型別
c 的資料型別分為兩類 值和引用,值型是乙個長度固定的資料,引用型是乙個長度可變的。具體來說 值 整數型 浮點數 布林型 字元型 結構 列舉 六種 引用 c 預定義引用 陣列 類 介面 下面具體介紹 整數型 8 16 32 64位,每種又有正負和非負兩種整數,共8種,sbyte byte short...
C 基礎(一) 資料型別
using system namespace base 01 endregion 說明 1 每個程式只能有乙個main方法 2 region 摺疊塊,endregion可以實現 塊摺疊 3 c 需要引用命名空間,類似於c 新增標頭檔案,命名空間裡有相關類。例如console是system名字空間裡的...