浮點(diǎn)數(shù)的二進(jìn)制表示

浮點(diǎn)數(shù)的二進(jìn)制表示

ID:14045966

大?。?2.00 KB

頁數(shù):7頁

時間:2018-07-25

浮點(diǎn)數(shù)的二進(jìn)制表示_第1頁
浮點(diǎn)數(shù)的二進(jìn)制表示_第2頁
浮點(diǎn)數(shù)的二進(jìn)制表示_第3頁
浮點(diǎn)數(shù)的二進(jìn)制表示_第4頁
浮點(diǎn)數(shù)的二進(jìn)制表示_第5頁
資源描述:

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

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

2、???64?以下通過幾個例子講解浮點(diǎn)數(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浮點(diǎn)數(shù)表示法,下面先把38414.4轉(zhuǎn)換為十六進(jìn)制數(shù)。????把整數(shù)部和小數(shù)部分開處理:整數(shù)部直接化十六進(jìn)制:960E。小數(shù)的處理:0.4

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

4、10101,右移了15位,所以指數(shù)為15?;蛘呖梢匀缦吕斫猓?.00101100000111001101010101010101010101010101010101012×215????于是來看階碼,按IEEE標(biāo)準(zhǔn)一共11位,可以表示范圍是-1024~1023。因?yàn)橹笖?shù)可以為負(fù),為了便于計算,規(guī)定都先加上1023(2^10-1),在這里,階碼:15+1023=1038。二進(jìn)制表示為:10000001110;???符號位:因?yàn)?8414.4為正對應(yīng)為0;???合在一起(注:尾數(shù)二進(jìn)制最高位的1不要):0100000011

5、100010110000011100110101010101010101010101010101010101例二:已知:整數(shù)3490593(16進(jìn)制表示為0x354321)。求:其對應(yīng)的浮點(diǎn)數(shù)3490593.0的二進(jìn)制表示。解法如下:先求出整數(shù)3490593的二進(jìn)制表示:?H:???3????5???4???3???2????1??(十六進(jìn)制表示)?B:??0011?0101010000110010?0001(二進(jìn)制表示)?????│←──────21─────→│?即:???????????????1.1010101

6、000011001000012×221可見,從左算起第一個1后有21位,我們將這21為作為浮點(diǎn)數(shù)的小數(shù)表示,單精度浮點(diǎn)數(shù)float由符號位1位,指數(shù)域位k=8位,小數(shù)域位(尾數(shù))n=23位構(gòu)成,因此對上面得到的21位小數(shù)位我們還需要補(bǔ)上2個0,得到浮點(diǎn)數(shù)的小數(shù)域表示為:????????10101010000110010000100float類型的偏置量Bias=2k-1-1=28-1-1=127,但還要補(bǔ)上剛才因?yàn)橛乙谱鳛樾?shù)部分的21位,因此偏置量為127+12=148,就是IEEE浮點(diǎn)數(shù)表示標(biāo)準(zhǔn):?????????

7、??????????V=(-1)s×M×2E???????????????????E=e-Bias中的e,此前計算Bias=127,剛好驗(yàn)證了E=148-127=21。將148轉(zhuǎn)為二進(jìn)制表示為10010100,加上符號位0,最后得到二進(jìn)制浮點(diǎn)數(shù)表示1001010010101010000110010000100,其16進(jìn)制表示為:?H:????4???????A??????5?????????5????????0????????C????????8???????4???B:?0100??1010??0101???0101

8、??0000??1100?1000??0100???????????????????

9、←────?????21???????─────→??

10、????1

11、←─8??─→

12、

13、←─────??????23??????─────→

14、?這就是浮點(diǎn)數(shù)3490593.0(0x4A550C84)的二進(jìn)制表示。?例三:0.5的二進(jìn)制形式是0.1它

當(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ò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。