浮點型資料是用來表示具有小數點的實數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 是乙個確定的常數,不需要在浮點數中明確表示出來。因此,要表示浮點...