計算機內部如何存儲負數和浮點數?

負數比較容易,就是通過一個標誌位和補碼來表示。
對於浮點類型的數據採用單精度類型(float)和雙精度類型(double)來存儲,float數據佔用32bit,double數據佔用64bit,我們在聲明一個變量float f= 2.25f的時候,是如何分配內存的呢?如果胡亂分配,那世界豈不是亂套了麼,其實不論是float還是double在存儲方式上都是遵從IEEE的規範的,float遵從的是IEEE R32.24 ,而double 遵從的是R64.53。更多可以參考浮點數表示。
無論是單精度還是雙精度在存儲中都分爲三個部分:

1). 符號位(Sign) : 0代表正,1代表爲負
2). 指數位(Exponent):用於存儲科學計數法中的指數數據,並且採用移位存儲
3). 尾數部分(Mantissa):尾數部分
其中float的存儲方式如下圖所示:
在這裏插入圖片描述
而雙精度的存儲方式如下圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章