浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記

浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記

ID:9798312

大?。?0.50 KB

頁數(shù):8頁

時間:2018-05-10

浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記_第1頁
浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記_第2頁
浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記_第3頁
浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記_第4頁
浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記_第5頁
資源描述:

《浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、文章1:單雙精度浮點數(shù)的IEEE標(biāo)準(zhǔn)格式目前大多數(shù)高級語言(包括C)都按照IEEE-754標(biāo)準(zhǔn)來規(guī)定浮點數(shù)的存儲格式,IEEE754規(guī)定,單精度浮點數(shù)用4字節(jié)存儲,雙精度浮點數(shù)用8字節(jié)存儲,分為三個部分:符號位、階和尾數(shù)。階即指數(shù),尾數(shù)即有效小數(shù)位數(shù)。單精度格式階占8位,尾數(shù)占24位,符號位1位,雙精度則為11為階,53位尾數(shù)和1位符號位,如下圖所示:單精度浮點數(shù)存儲格式?s指數(shù)??尾數(shù)??????????????????????????????????????????????????????????????31?

2、???????30?????????????????23?22??????????????????0雙精度浮點數(shù)存儲格式?s?指數(shù)尾數(shù)???????????????????????????????????????????????????????????????63???????62?????????????????52?51??????????????????0???????細(xì)心的人會發(fā)現(xiàn),單雙精度各部分所占字節(jié)數(shù)量比實際存儲格式都了一位,的確是這樣,事實是,尾數(shù)部分包括了一位隱藏位,允許只存儲23位就可以表示24

3、位尾數(shù),默認(rèn)的1位是規(guī)格化浮點數(shù)的第一位,當(dāng)規(guī)格化一個浮點數(shù)時,總是調(diào)整它使其值大于等于1而小于2,亦即個位總是為1。例如1100B,對其規(guī)格化的結(jié)果為1.1乘以2的三次方,但個位1并不存儲在23位尾數(shù)部分內(nèi),這個1是默認(rèn)位。???????階以移碼的形式存儲。對于單精度浮點數(shù),偏移量為127(7FH),而雙精度的偏移量為1023(3FFH)。存儲浮點數(shù)的階碼之前,偏移量要先加到階碼上。前面例子中,階為2的三次方,在單精度浮點數(shù)中,移碼后的結(jié)果為127+3即130(82H),雙精度為1026(402H)。??????

4、?浮點數(shù)有兩個例外。數(shù)0.0存儲為全零。無限大數(shù)的階碼存儲為全1,尾數(shù)部分全零。符號位指示正無窮或者負(fù)無窮。下面舉幾個例子:單精度浮點數(shù)?十進(jìn)制規(guī)格化符號移階碼尾數(shù)???????????????????-12-1.1x23??1100000101000000?00000000?00000000??0.251.0x2-2??0011111010000000?00000000?00000000??所有字節(jié)在內(nèi)存中的排列順序,intel的cpu按littleendian順序,motorola的cpu按bigendian順

5、序排列。浮點數(shù)的二進(jìn)制表示學(xué)習(xí)筆記基礎(chǔ)知識:十進(jìn)制轉(zhuǎn)十六進(jìn)制;十六進(jìn)制轉(zhuǎn)二進(jìn)制;IEEE制定的浮點數(shù)表示規(guī)則;了解:目前C/C++編譯器標(biāo)準(zhǔn)都遵照IEEE制定的浮點數(shù)表示法來進(jìn)行float,double運算。這種結(jié)構(gòu)是一種科學(xué)計數(shù)法,用符號、指數(shù)和尾數(shù)來表示,底數(shù)定為2——即把一個浮點數(shù)表示為尾數(shù)乘以2的指數(shù)次方再添上符號。下面是具體的規(guī)格:????????????符號位????階碼?????尾數(shù)????長度float??????????1??????????8????????23??????32double???

6、??????1?????????11???????52?????64?以下通過幾個例子講解浮點數(shù)如何轉(zhuǎn)換為二進(jìn)制數(shù)例一:已知:double類型38414.4。求:其對應(yīng)的二進(jìn)制表示。分析:double類型共計64位,折合8字節(jié)。由最高到最低位分別是第63、62、61、……、0位:????最高位63位是符號位,1表示該數(shù)為負(fù),0表示該數(shù)為正;????62-52位,一共11位是指數(shù)位;????51-0位,一共52位是尾數(shù)位。????步驟:按照IEEE浮點數(shù)表示法,下面先把38414.4轉(zhuǎn)換為十六進(jìn)制數(shù)。????把整數(shù)部

7、和小數(shù)部分開處理:整數(shù)部直接化十六進(jìn)制:960E。小數(shù)的處理:0.4=0.5*0+0.25*1+0.125*1+0.0625*0+……????實際上這永遠(yuǎn)算不完!這就是著名的浮點數(shù)精度問題。所以直到加上前面的整數(shù)部分算夠53位就行了。隱藏位技術(shù):最高位的1不寫入內(nèi)存(最終保留下來的還是52位)。????如果你夠耐心,手工算到53位那么因該是:38414.4(10)=1001011000001110.0110011001100110011001100110011001100(2)科學(xué)記數(shù)法為:1.0010110000

8、011100110011001100110011001100110011001100,右移了15位,所以指數(shù)為15?;蛘呖梢匀缦吕斫猓?.0010110000011100110011001100110011001100110011001100×2^15????于是來看階碼,按IEEE標(biāo)準(zhǔn)一共11位,可以表示范圍是-1024?~?1023。因為指數(shù)可以為負(fù),為

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。