實型資料解析

2021-04-24 01:04:20 字數 1767 閱讀 1033

實型資料平常用的可能不多,有些知識也容易忽略。 實型又叫做浮點數,為什麼這樣叫我也不知道,:) 老外的叫法吧。

1、根據精度不同,可分為三個子型別:

float

型別,佔4個位元組,有7

位有效數字

double

型別,佔8個位元組,有

16位有效數字

long double型別,根據編譯器的不同,在c中,佔10位元組,在vc++中,佔8位元組,和double一樣。有更多的有效數字。

注意有效數字是從整數部分開始計算的,有效數字越多,可以精確到小數點後位數也越多,精度越高。

2、

表示方法: 1、

十進位制小數,如

1.5

2、指數,如

1.e10

表示10

10注意

e表示的是

10,而不是自然對數的底那個e

3、儲存方式

float 儲存方式:

位元組位址

0

1

2

3

儲存方式

s eeeeeee

e mmmmmmm

mmmmmmmm

mmmmmmmm

s為符號位,

e為指數,

m為小數,數值表示為:(-1)

s*2(e-127)

*1.m s

為0表示為正數,為

1表示為負數。 e

為乙個位元組 m

為23位,最高位為

0.5,每位之間的倍數為2。

舉個例子:12.

0=1*8*1.5

儲存在記憶體中時,

s=0,

e=130

,m=0.5

01000001

01000000

00000000

00000000

又如:12.

5=1*8*1.5625

0.5625

=0.5+0.0625 

double float

型別的儲存方式如下,共

8個位元組:

位元組位址01

23儲存方式

s eeeeeee

e eeemmmm

mmmmmmmm

mmmmmmmm

位元組位址45

67儲存方式

mmmmmmmm

mmmmmmmm

mmmmmmmm

mmmmmmmm

e為指數部分,共

11位,

m為小數部分,共

46位。表示式為:

(-1)s

*2(e-1023)

*1.m

另外還有幾點:

1、由於實型資料的計算量比較大,所以一般在微控制器程式設計中要盡量少用。

2、實型常數不分單、雙精度,都按雙精度

double

型處理,這點在數**算中型別轉換時需要用到

3、當輸出實型資料時,需要注意其精度,會捨去一些資料位,因為機器中儲存實型數是採用「逼近法」,用2的指數進行相加而得。

舉個例子,

#include

main()

得到的結果是7383,而不是7384,因為儲存的資料實際是7.383***x,所以把float轉換成int時需要加上0.001,如下:

main()

C語言實型資料

實型也稱為浮點型。實型常量也稱為實數或者浮點數。在c語言中,實數只採用十進位制。它有二種形式 十進位制小數形式和指數形式。1 十進位制數形式 由數碼0 9和小數點組成。例如 0.0 25.0 5.789 0.13 5.0 300.267.8230 等均為合法的實數。注意,必須有小數點。2 指數形式 ...

mysql實型 mysql 資料型別

1 整型 型別大小 範圍 有符號 範圍 無符號 用途tinyint 1 位元組 128,127 0,255 小整數值 smallint 2 位元組 32 768,32 767 0,65 535 大整數值 mediumint 3 位元組 8 388 608,8 388 607 0,16 777 215...

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

實型資料也稱為浮點數或實數。在c語言中,實數只採用十進位制。它有二種形式 十進位制小數形式和指數形式。1 十進位制數形式 由數碼0 9和小數點組成。例如 0.0 25.0 5.789 0.13 5.0 300.267.8230 等均為合法的實數。注意,必須有小數點。2 指數形式 由十進位制數,加階碼...