找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4507|回復: 0
打印 上一主題 下一主題
收起左側(cè)

什么是浮點數(shù)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:51090 發(fā)表于 2014-9-16 23:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
為便于軟件的移植,浮點數(shù)的表示形式應該有統(tǒng)一標準(定義)。1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754標準。該標準規(guī)定基數(shù)為2,階碼E用移碼(非標準移碼,標準移碼與補碼的符號位相反,而非標準移碼要再減一)[1]表示,尾數(shù)M用原碼表示,根據(jù)二進制的規(guī)格化方法,數(shù)值的最高位總是1,該標準將這個1缺省存儲,使得尾數(shù)表示范圍比實際存儲的多一位。IEEE754標準中有三種形式的浮點數(shù):短浮點數(shù)(又稱單精度浮點數(shù))、長浮點數(shù)(又稱雙精度浮點數(shù))、臨時浮點數(shù)(又稱擴展精度浮點數(shù),這種浮點數(shù)沒有隱含位),它們的具體格式如下表:
類型
       
存儲位數(shù)
                               
偏置值
       
       
數(shù)符(S)
       
階碼(E)
       
尾數(shù)(M)
       
總位數(shù)
       
十六進制
       
十進制
短浮點數(shù)(Single,float)
       
1位
       
8位
       
23位
       
32位
       
7FH
       
+127
長浮點數(shù)(Double)
       
1位
       
11位
       
52位
       
64位
       
3FFH
       
+1023
臨時浮點數(shù)(擴展精度浮點數(shù))
       
1位
       
15位
       
64位
       
80位
       
3FFFH
       
+16383
對于階碼為0或255的情況,IEEE754標準有特別的規(guī)定:
如果 E 是0 并且 M 是0,則這個數(shù)的真值為±0(正負號和數(shù)符位有關(guān)) 如果 E = 255 并且 M 是0,則這個數(shù)的真值為±∞(同樣和符號位有關(guān)) 如果 E = 255 并且 M 不是0,則這不是一個數(shù)(NaN)。
短浮點數(shù)和長浮點數(shù)(不含臨時浮點數(shù))的存儲在尾數(shù)中隱含存儲著一個1,因此在計算尾數(shù)的真值時比一般形式要多一個整數(shù)1。對于階碼E的存儲形式因為是127的偏移,所以在計算其移碼時與人們熟悉的128偏移不一樣,正數(shù)的值比用128偏移求得的少1,負數(shù)的值多1,為避免計算錯誤,方便理解,常將E當成二進制真值進行存儲。例如:將數(shù)值-0.5按IEEE754單精度格式存儲,先將-0.5換成二進制并寫成標準形式:-0.5(10進制)=-0.1(2進制)=-1.0×2-1(2進制,-1是指數(shù)),這里s=1,M為全0,E-127=-1,E=126(10進制)=01111110(2進制),則存儲形式為:
1 01111110 000000000000000000000000=BF000000(16進制)
這里不同的下標代表不同的進制。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表