浮點數的一些簡單表示規則

2021-08-08 19:39:53 字數 836 閱讀 1329

浮點型資料是用來表示具有小數點的實數de。在c中,實數是以指數形式存放在儲存單元中的。乙個實數表示為指數可以有不止一種形式,如3.14159×10^0,0.314159×10^1……它們代表的是同乙個值。可以發現,小數點的位置改變從而改變了指數的值,就不改變它們值的大小。由於小數點的位置可以浮動,所以實數的指數形式稱為浮點型。

浮點型的型別包括float(單精度浮點型)double(雙精度浮點型)long double(長雙精度浮點型)。

float(單精度浮點型)。編譯系統為float分配了四個位元組大小的空間。每個位元組八個bit。一共有32個位元,第乙個位元位是符號位,中間八位是移嗎,後23位是尾碼。簡單的表示就是1+8+23的形式。

例如:12.25的浮點表示

先將12.25化成二進位制  12.25→1100.001 *這裡要注意的是小數點的移動,移動到第乙個1的後面,這裡需要往左邊移動,一般參考的是給127加減,左移需要給127加上小數點的移動個數。127是怎麼來的,是老師上課講的。

127的二進位制   0  0 111  1111

3的二進位制       0 000   0011

=         0 1 000   0010    ( 100  001)/*將小數點移動後的剩餘的補上 0000000

十六進製制   0x41 43 00 00     but 在c中都會把單精度轉化位雙精度來計算。(就是進行編譯時浮點型常量都會被系統按照雙精度處理)

double(雙精度浮點型)和單精度類似  ,只不過雙精度是8個位元組,簡單的表示就是1(符號位)+11(移碼位)+52(尾碼位)基本上與float是類似的。long double分配了十六個位元組。

我目前知道的就這點。以後會的會往裡面加。

浮點數的表示

在定點數表示中存在的乙個問題是,難以表示數值很大的資料和數值很小的資料。例如,電子的質量 9 10 28克 和太陽的質量 2 1033克 相差甚遠,在定點計算機中無法直接表示,因為小數點只能固定在某乙個位置上,從而限制了資料的表示範圍。為了表示更大範圍的資料,數學上通常採用科學計數法,把資料表示成乙...

浮點數的表示

日期 2010年6月 6日 1.前幾天,我在讀一本c語言教材,有一道例題 includevoid main void 執行結果如下 num的值為 9 pfloat的值為 0.000000 num的值為 1091567616 pfloat的值為 9.000000 我很驚訝,num和 pfloat在記憶...

浮點數的表示

浮點數,是指小數點在資料中的位置可以左右移動的資料。它通常被表示成 n m re 這裡的m mantissa 被稱為浮點數的尾數,r radix 被稱為階碼的基數,e exponent 被稱為階的階碼。計算機中一般規定r為2 8或16 是乙個確定的常數,不需要在浮點數中明確表示出來。因此,要表示浮點...