浮點數如何在計算機中表示

2021-08-10 06:32:19 字數 1146 閱讀 6361

浮點數如何在計算機中表示

乾坤有數

根據ieee 754標準,浮點數的表示形式如下:

其中,s為數的符號位,為0時表示正數,為1時表示負數;p為階碼,通常用移碼表示;m為尾數,用原碼表示。目前,計算機中主要使用三種形式的ieee 754浮點數,如下表所示

在ieee 754標準中,約定小數點左邊隱含有一位,通常這位數就是1,因此單精度浮點數尾數的有效位數為24位,即尾數為1.xx...x。

下面利用ieee 754標準將數176.0625表示為單精度浮點數:

第一步,將176.0625表示為二進位制數,即(176.0625)

10 = (10110000.0001)

21. 整數轉化為二進位制

176/2=88...0(餘數)

88/2 =44...0

44/2 =22...0

22/2 =11...0

11/2 =5 ...1

5/2 

=2 ...1

2/2 

=1 ...0

1/2 

=0 ...1

將餘數按從下往上的順序書寫就是:10110000

2.小數部分轉化為二進位制

0.0625*2=0.125...0(整數)

0.125*2 =0.25 ...0

0.25*2 

=0.5 

...0

0.5*2  

=1.0 

...1

將整數按從上往下的順序書寫就是:0001

第二步,對二進位制數進行規格化處理,即10110000.0001 = 1*01100000001x2^7(*為小數點所在位置,在計算

機中只取小數點後面的位存入尾數區)

第三步,將最高位去掉,並擴充套件為單精度浮點數所規定的23位尾數,得到尾數01100000001000000000000

第四步,求階碼,上述表示中指數為7(即第二步中的7),用移碼表示為10000110(7+127=134,127為偏移量)

第五步,將符號位、階碼與尾數合併起來,最終得到176.0625的表示形式

0 10000110 01100000001000000000000(其中空格是為了方便**)

參考文獻

1.張淑平. 程式設計師教程[m]. 北京:清華大學出版社,2009.

計算機中浮點數的表示

浮點數就是有小數點的數。在c語言中有三種浮點數,分別為float,double和long double。下面分析一下其實現。include int main int argc,char argv 這是乙個簡單的c語言程式,定義了三個不同型別的變數a b c。編譯後用gdb除錯下 gdb p size...

計算機中浮點數的表示

在c語言中浮點數有兩個size,32位和64位。其中32位浮點數 第1位是signflag 符號位 2 9位是階碼位 exponent 10 32位是尾數字 significand 64位分別是第1位,2 12位,13 64位。浮點數大小的公式是 x 1 2 e m e exp 2 1 將 exp ...

浮點數在計算機中的表示

浮點數在計算機中的表示 最後編輯於 2010 4 13 計算機中數字是以0和1二進位制儲存的,我們熟悉的是整數的如何在計算機中表示,那麼浮點數是如何表示的呢?一 轉換 我們先來看看如何將十進位制的浮點數轉換成二進位制。乙個十進位制的浮點數,例如 abcd.efg 其中a g為0.9 其值用多項式為 ...