發布時間:2011-08-29 共1頁
2.4 實型數據
2.4.1 實型常量
實型常量又稱實數或浮點數。在C語言中可以用兩種形式表示一個實型常量。
一、小數形式
小數形式是由數字和小數點組成的一種實數表示形式,例如0.123、.123、123.、0.0等都是合法的實型常量。注意:小數形式表示的實型常量必須要有小數點。
二、指數形式
這種形式類似數學中的指數形式。在數學中,一個數可以用冪的形式來表示,如2.3026可
以表示為0.23026×101、2.3026×100、23.026×10-1等形式。在C語言中,則以“e”或“E”后跟一個整數來表示以10為底的冪數。2.3026可以表示為0.23026E1、2.3026e0、23. 026e-1。C語言的語法規定,字母e或E之前必須要有數字,且e或E后面的指數必須為整數。如e3、.5e3.6、.e3、e等都是非法的指數形式。注意:在字母e或E的前后以及數字之間不得插入空格。
2.4.2 實型變量
C語言中實型變量分為單精度型和雙精度型兩種,分別用類型名float和double進行定義。
單精度型變量定義的形式如下:
float a,b,c;
雙精度型變量定義的形式如下:
double x,y,z;
在一般計算機系統中,為float類型的變量分配4個字節的存儲單元,為double類型的變量分配8個字節的存儲單元,并按實型數的存儲方式存放數據。實型的變量只能存放實型數,不能用整型變量存放一個實數,也不能用實型變量存放一個整數。
在VC6.0中單精度實數(float類型)的數值范圍約在-1038~1038之間,并提供7位有效數
字位;絕對值小于10-38的數被處理成零值。雙精度實數(double類型)的數值范圍約在-10308~10308之間,并提供15~16位有效數字位,具體精確到多少位與機器有關;絕對值小于10-308的數被處理成零值。因此double型變量中存放的數據要比float型變量中存放的數據精確得多。注意,在VC6.0中,所有的float類型數據在運算中都自動轉換成double型數據。
前面已經介紹過,在程序中一個實數可以用小數形式表示,也可以用指數形式表示。但在內存中,實數一律是以指數形式存放的。
注意:在計算機中可以精確地存放一個整數,不會出現誤差,但整型數值的數值范圍比實數小。實型數的數值范圍較整型大,但往往存在誤差。