C語言實型資料(浮點數)

2021-06-28 04:50:04 字數 1575 閱讀 1366

實型資料也稱為浮點數或實數。在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】輸出實數。

#include

intmain

(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】實數的捨入誤差。

#include

intmain

(void)

注意:1.0/3*3的結果並不等於1。

【例3-7】

#include

intmain

(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位,注意...