實型資料也稱為浮點數或實數。在c語言中,實數只採用十進位制。
它有二種形式:十進位制小數形式和指數形式。1) 十進位制數形式
由數碼0~ 9和小數點組成。 例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均為合法的實數。
注意,必須有小數點。
2) 指數形式
由十進位制數,加階碼標誌「e」或「e」以及階碼(只能為整數,可以帶符號)組成。其一般形式為:
a e n(a為十進位制數,n為十進位制整數)
其值為 a*10
n。如:
2.1e5 (等於2.1*105)
3.7e-2 (等於3.7*10-2)
0.5e7 (等於0.5*107)
-2.8e-2 (等於-2.8*10-2)
以下不是合法的實數:
345 (無小數點)
e7 (階碼標誌e之前無數字)
-5 (無階碼標誌)
53.-e3 (負號位置不對)
2.7e (無階碼)
【例3-5】輸出實數。
#includeintmain
(void)
3) 實數在記憶體中的存放形式
實數一般佔4個位元組(32位)記憶體空間。按指數形式儲存。
實數3.14159在記憶體中的存放形式如下:
說明:實型變數分為:單精度(float型)、雙精度(double型)和長雙精度(long double型)三類。
在vc6.0中單精度型佔4個位元組(32位)記憶體空間,其數值範圍為3.4e-38~3.4e+38,只能提供七位有效數字。雙精度型佔8 個位元組(64位)記憶體空間,其數值範圍為1.7e-308~1.7e+308,可提供16位有效數字。
型別說明符
位元數(位元組數)
有效數字
數的範圍
float
32(4)
6~710-37~1038
double
64(8)
15~16
10-307~10308
long double
128(16)
18~19
10-4931~104932
實型變數定義的格式和書寫規則與整型相同。例如:
float x,y;// x,y為單精度實型量
double a,b,c;
// a,b,c為雙精度實型量
實數的捨入誤差
由於實數是由有限的儲存單元組成的,因此能提供的有效數字總是有限的。
如下例。
【例3-6】實數的捨入誤差。
#includeintmain
(void)
注意:1.0/3*3的結果並不等於1。
【例3-7】
#includeintmain
(void)
從本例可以看出:
注意:實型常數不分單、雙精度,都按雙精度double型處理。
C語言實型資料(浮點數)
實型資料也稱為浮點數或實數。在c語言中,實數只採用十進位制。它有二種形式 十進位制小數形式和指數形式。1 十進位制數形式 由數碼0 9和小數點組成。例如 0.0 25.0 5.789 0.13 5.0 300.267.8230 等均為合法的實數。注意,必須有小數點。2 指數形式 由十進位制數,加階碼...
c語言整數轉浮點數 浮點數的秘密
我們在學習 c 語言時,通常認為浮點數和小數是等價的,並沒有嚴格區分它們的概念,這也並沒有影響到我們的學習,原因就是浮點數和小數是繫結在一起的,只有小數才使用浮點格式來儲存。其實,整數和小數可以都使用定點格式來儲存,也可以都使用浮點格式來儲存,但實際情況卻是,c 語言使用定點格式儲存整數,使用浮點格...
C語言 浮點數格式
description 輸入n 0 n 10000 個浮點數,要求把這n個浮點數重新排列 並非排序,而是對齊 後再輸出。每個浮點數中都有小數點且總長度不超過50位。input 第1行是乙個正整數n n 10000 後面n行每行乙個浮點數,每個浮點數中都保證小數點會出現。浮點數的長度不超過50位,注意...