![浮點(diǎn)數(shù)的二進(jìn)制表示_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d1/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d11.gif)
![浮點(diǎn)數(shù)的二進(jìn)制表示_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d1/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d12.gif)
![浮點(diǎn)數(shù)的二進(jìn)制表示_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d1/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d13.gif)
![浮點(diǎn)數(shù)的二進(jìn)制表示_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d1/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d14.gif)
![浮點(diǎn)數(shù)的二進(jìn)制表示_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d1/ab3b4740-b531-4c0d-8a9a-3a28dcfee4d15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、浮點(diǎn)數(shù)的二進(jìn)制表示基礎(chǔ)知識(shí):十進(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é)計(jì)數(shù)法,用符號(hào)、指數(shù)和尾數(shù)來表示,底數(shù)定為2即把一個(gè)浮點(diǎn)數(shù)表示為尾數(shù)乘以2的指數(shù)次方再添上符號(hào)。下面是具體的規(guī)格: 符號(hào)位 階碼 尾數(shù)
2、 長度float 1 8 23 32double 1
3、0; 11 52 64 以下通過幾個(gè)例子講解浮點(diǎn)數(shù)如何轉(zhuǎn)換為二進(jìn)制數(shù)例一:已知:double類型38414.4。求:其對(duì)應(yīng)的二進(jìn)制表示。分析:double類型共計(jì)64位,折合8字節(jié)。由最高到最低位分別是第63、62、61、0位: 最高位63位是符號(hào)位,1表示該數(shù)為負(fù),0表示該數(shù)為正; 62-52位,一共11位是指數(shù)位;
4、60; 51-0位,一共52位是尾數(shù)位。 步驟:按照IEEE浮點(diǎn)數(shù)表示法,下面先把38414.4轉(zhuǎn)換為十六進(jìn)制數(shù)。 把整數(shù)部和小數(shù)部分開處理:整數(shù)部直接化十六進(jìn)制:960E。小數(shù)的處理:0.4=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位)。
5、; 如果你夠耐心,手工算到53位那么因該是:38414.4(10)=1001011000001110.0110101010101010101010101010101010101(2)科學(xué)記數(shù)法為:1.0010110000011100110101010101010101010101010101010101,右移了15位,所以指數(shù)為15?;蛘呖梢匀缦吕斫猓?.00101100000111001101010101010101010101010101010101012×215 于是來看階碼,按IEEE標(biāo)準(zhǔn)一共11位,可以表示范圍是-1024 1
6、023。因?yàn)橹笖?shù)可以為負(fù),為了便于計(jì)算,規(guī)定都先加上1023(210-1),在這里,階碼:15+1023=1038。二進(jìn)制表示為:100 00001110; 符號(hào)位:因?yàn)?8414.4為正對(duì)應(yīng) 為0; 合在一起(注:尾數(shù)二進(jìn)制最高位的1不要):01000000 11100010 11000001 11001101 01010101 01010101 01010101 01010101例二:已知:整數(shù)3490593(16進(jìn)制表示為0x354321)。求:其對(duì)應(yīng)的浮點(diǎn)數(shù)3490593.0的二進(jìn)制表示。解法如下:先求出整數(shù)349
7、0593的二進(jìn)制表示: H: 3 5 4 3 2 1 (十六進(jìn)制表示) B: 0011 0101 0100 0011 0010 0001 (二進(jìn)制表示) 21 即:
8、; 1.1010101000011001000012×221可見,從左算起第一個(gè)1后有21位,我們將這21為作為浮點(diǎn)數(shù)的小數(shù)表示,單精度浮點(diǎn)數(shù)float由符號(hào)位1位,指數(shù)域位k=8位,小數(shù)域位(尾數(shù))n=23位構(gòu)成,因此對(duì)上面得到的21位小數(shù)位我們還需要補(bǔ)上2個(gè)0,得到浮點(diǎn)數(shù)的小數(shù)域表示為: 1 0101 0100 0011 0010 0001 0
9、0float類型的偏置量Bias=2k-1-1=28-1-1=127,但還要補(bǔ)上剛才因?yàn)橛乙谱鳛樾?shù)部分的21位,因此偏置量為127+12=148,就是IEEE浮點(diǎn)數(shù)表示標(biāo)準(zhǔn): V = (-1)s×M×2E &
10、#160; E = e-Bias中的e,此前計(jì)算Bias=127,剛好驗(yàn)證了E=148-127=21。將148轉(zhuǎn)為二進(jìn)制表示為10010100,加上符號(hào)位0,最后得到二進(jìn)制浮點(diǎn)數(shù)表示1001010010101010000110010000100,其16進(jìn)制表示為: H: 4 A 5
11、0; 5 0 C 8 4 B: 0100 1010 0101&
12、#160; 0101 0000 1100 1000 0100 | 21 |
13、0; 1|8 | 23 | 這就是浮點(diǎn)數(shù)3490593.0(0x4A550C84)的二進(jìn)制表示。 例三:0.5的二進(jìn)制形式是0.1它用浮點(diǎn)數(shù)的形式寫出來是如下格式 0 01111110 &
14、#160; 00000000000000000000000符號(hào)位 階碼 &
15、#160; 小數(shù)位正數(shù)符號(hào)位為0,負(fù)數(shù)符號(hào)位為1階碼是以2為底的指數(shù)小數(shù)位表示小數(shù)點(diǎn)后面的數(shù)字下面我們來分析一下0.5是如何寫成0 01111110 00000000000000000000000首先0.5是正數(shù)所以符號(hào)位為0再來看階碼部分,0.5的二進(jìn)制數(shù)是0.1,而0.1是1.0*2(-1),所以我們總結(jié)出來:要把二進(jìn)制數(shù)變成(1.f)*2(exponent)的形式,其中exponent是指數(shù)而由于階碼有正負(fù)之分所以階碼=127+exponent;即階碼=127+(-1)=126 即 01111110余下的小數(shù)位為二進(jìn)制小數(shù)點(diǎn)后面的數(shù)字,即0000000000000000000
16、0000由以上分析得0.5的浮點(diǎn)數(shù)存儲(chǔ)形式為0 01111110 00000000000000000000000 注:如果只有小數(shù)部分,那么需要右移小數(shù)點(diǎn). 比如右移3位才能放到第一個(gè)1的后面, 階碼就是127-3=124.例四 (20.59375)10 =(10100.10011 )2首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù):20.5937510100.10011然后移動(dòng)小數(shù)點(diǎn),使其在第1,2位之間10100.100111.010010011×24 即e4于是得到:S0, E4127131, M010010011最后得到32位浮
17、點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 例五:-12.5轉(zhuǎn)為單精度二進(jìn)制表示12.5:1. 整數(shù)部分12,二進(jìn)制為1100; 小數(shù)部分0.5, 二進(jìn)制是.1,先把他們連起來,從第一個(gè)1數(shù)起取24位(后面補(bǔ)0):1100.10000000000000000000這部分是有效數(shù)字。(把小數(shù)點(diǎn)前后兩部分連起來再取掉頭前的1,就是尾數(shù))2. 把小數(shù)點(diǎn)移到第一個(gè)1的后面,需要左移3位(1.10010000000000000000000*23), 加上偏移量127:127+3=130,二進(jìn)制是10000010
18、,這是階碼。3. -12.5是負(fù)數(shù),所以符號(hào)位是1。把符號(hào)位,階碼和尾數(shù)連起來。注意,尾數(shù)的第一位總是1,所以規(guī)定不存這一位的1,只取后23位:1 10000010 10010000000000000000000把這32位按8位一節(jié)整理一下,得:11000001 01001000 00000000 00000000就是十六進(jìn)制的 C1480000.例六:2.0256751. 整數(shù)部分2,二進(jìn)制為10; 小數(shù)部分0.025675, 二進(jìn)制是.0000011010010010101001,先把他們連起來,從第一個(gè)1數(shù)起取24位(后面補(bǔ)0):10.0000011010010010101001這部分是
19、有效數(shù)字。把小數(shù)點(diǎn)前后兩部分連起來再取掉頭前的1,就是尾數(shù): 000000110100100101010012. 把小數(shù)點(diǎn)移到第一個(gè)1的后面,左移了1位, 加上偏移量127:127+1=128,二進(jìn)制是10000000,這是階碼。3. 2.025675是正數(shù),所以符號(hào)位是0。把符號(hào)位,階碼和尾數(shù)連起來:0 10000000 00000011010010010101001把這32位按8位一節(jié)整理一下,得:01000000 00000001 10100100 10101001就是十六進(jìn)制的 4001A4A9. 例七:(逆向求十進(jìn)制整數(shù))一個(gè)浮點(diǎn)二進(jìn)制數(shù)手工轉(zhuǎn)換成十進(jìn)制數(shù)的例子:假設(shè)浮點(diǎn)二
20、進(jìn)制數(shù)是 1011 1101 0100 0000 0000 0000 0000 0000按1,8,23位分成三段:1 01111010 10000000000000000000000最后一段是尾數(shù)。前面加上"1.", 就是 1.10000000000000000000000下面確定小數(shù)點(diǎn)位置。由E = e-Bias,階碼E是01111010,加上00000101才是01111111(127),所以他減去127的偏移量得e=-5。(或者化成十進(jìn)制得122,122-127=-5)。因此尾數(shù)1.10(后面的0不寫了)是小數(shù)點(diǎn)右移5位的結(jié)果。要復(fù)原它就要左移5位小數(shù)點(diǎn),得0.000
21、0110, 即十進(jìn)制的0.046875 。最后是符號(hào):1代表負(fù)數(shù),所以最后的結(jié)果是 -0.046875 。注意:其他機(jī)器的浮點(diǎn)數(shù)表示方法可能與此不同. 不能任意移植。再看一例(類似例七):比如:53004d3e二進(jìn)制表示為:01010011000000000100110100111110按照1個(gè)符號(hào) 8個(gè)指數(shù) 23個(gè)小數(shù)位劃分0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 道德與法治七年級(jí)上冊8.1 《生命可以永恒嗎》聽課評(píng)課記錄
- 湘教版數(shù)學(xué)七年級(jí)上冊《3.2 等式的性質(zhì)》聽評(píng)課記錄
- 新北師大版數(shù)學(xué)一年級(jí)下冊《誰的紅果多》聽評(píng)課記錄
- 獨(dú)立住宅買賣協(xié)議書(2篇)
- 【2022年新課標(biāo)】部編版七年級(jí)上冊道德與法治7.3 讓家更美好 聽課評(píng)課記錄
- 魯教版地理六年級(jí)下冊8.3《撒哈拉以南非洲》聽課評(píng)課記錄1
- 湘教版數(shù)學(xué)七年級(jí)下冊《2.1.4多項(xiàng)式的乘法(2)》聽評(píng)課記錄2
- 湘教版數(shù)學(xué)八年級(jí)下冊《2.3中心對(duì)稱》聽評(píng)課記錄
- 商務(wù)星球版地理八年級(jí)下冊活動(dòng)課《區(qū)際聯(lián)系對(duì)經(jīng)濟(jì)發(fā)展的影響》聽課評(píng)課記錄
- 蘇科版數(shù)學(xué)八年級(jí)下冊11.3《用反比例函數(shù)解決問題》聽評(píng)課記錄2
- 手術(shù)安全管理之手術(shù)部位標(biāo)識(shí)安全
- 2022年版煤礦安全規(guī)程
- 高質(zhì)量社區(qū)建設(shè)的路徑與探索
- 數(shù)字化時(shí)代的酒店員工培訓(xùn):技能升級(jí)
- 足球守門員撲救技巧:撲救結(jié)合守護(hù)球門安全
- 《學(xué)術(shù)規(guī)范和論文寫作》課件全套 第1-10章 知:認(rèn)識(shí)研究與論文寫作 - 引文規(guī)范
- 帶式輸送機(jī)滾筒出廠檢驗(yàn)規(guī)范
- 起重機(jī)更換卷筒施工方案
- 《信息檢索基礎(chǔ)知識(shí)》課件
- 具有履行合同所必須的設(shè)備和專業(yè)技術(shù)能力的承諾函-設(shè)備和專業(yè)技術(shù)能力承諾
- 01智慧物流信息技術(shù)概述
評(píng)論
0/150
提交評(píng)論