版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
摘要:在《計算機組成原理》課程的教學中,浮點數(shù)的表示與運算是一個重點,也是難點。本文對浮點數(shù)的一般表示及標準表示的方法、范圍、存儲格式等進行了比較深入地比較、分析和研究,力求給讀者一個清晰的概述。關鍵詞:浮點數(shù),表示方法,符號,尾數(shù),階碼,范圍《計算機組成原理》課程是計算機科學與技術專業(yè)的一門必修專業(yè)基礎課,主要是講述計算機系統(tǒng)幾大硬件的組成結構和工作原理。在其核心部件一一運算器(Anthmetician)的運算機制中,浮點數(shù)(Floating-point)的表示與運算方法是一個重點,也是難點,筆者在查閱了大量中外文文獻的基礎上,根據(jù)多年的教學實踐經(jīng)驗,對浮點數(shù)的表示方法、規(guī)格化處理方法、表示范圍進行了比較詳細地分析研究,以方便學生的學習,共同行們參考。1浮點數(shù)的一般表示方法在數(shù)學中,表示一個浮點數(shù)需要三要素:尾數(shù)(mantissa)、指數(shù)(exponent,又稱階碼)和基數(shù)(base),都用其第一個字母來表示的話,那么任意一個浮點數(shù)N可以表示成下列形式:N=MXBE,例如Nl=1.234X10-6,N2=-0.001011X2011等,同樣的數(shù)字對于不同的基數(shù)是不相同的,移動小數(shù)點的位置,其指數(shù)相應地跟著變化。在計算機中,表示一個浮點數(shù),同樣需要以上三要素,只是階碼與尾數(shù)一同存儲,基數(shù)常有2、8、16等數(shù)值,下面的討論以2為基數(shù)進行。將浮點數(shù)放在計算機中存儲時,尾數(shù)M用定點(Fixed-point)小數(shù)的形式,階碼E用有符號整數(shù)形式,改變M中小數(shù)點的位置,同時需要修改E的值,可以給出有效數(shù)字(s坦nificantnumber)的位數(shù),因此M和E決定了浮點數(shù)的精度(piecision),E指明小數(shù)點在B進制數(shù)據(jù)中的位置,因而E和B決定了浮點數(shù)的表示范圍(range),浮點數(shù)的符號(Sign)是單獨考慮,設階碼有m+1位,尾數(shù)有n+1位,則一般浮點數(shù)的表示方法如圖1所示,其中,下標s代表符號位,下標數(shù)字代表數(shù)字所處的位數(shù),尾數(shù)的小數(shù)點默認最高數(shù)字位Ml之前。圖(b)是將尾數(shù)的符號位提在最前面,其它部分與圖(a)一樣,是目前常用的一種表示形式。圖1浮點數(shù)的一般表示形式在這種表示方法中,階碼的二進制編碼(binaiycode)一般是原碼(signmagnitude)、補碼(twoscomplement)或移碼(bias),尾數(shù)的編碼一般是原碼或補碼。2浮點數(shù)的規(guī)格化處理在浮點數(shù)系統(tǒng)中,小數(shù)點的浮動使數(shù)值的表示不能惟一,從而給數(shù)據(jù)處理帶來困難,因此有必要使浮點數(shù)的表示與存儲有一定的標準,考慮到階碼、尾數(shù)之間的關系,常將尾數(shù)的最高數(shù)字位是有效值的數(shù)值稱為規(guī)格化(noimahzation),由于尾數(shù)可以是原碼或補碼,所以有兩種規(guī)格化的形式,如表1所示。表1規(guī)格化數(shù)據(jù)的形式尾數(shù)編碼尾數(shù)代碼形式說明正數(shù)負數(shù)原碼(MXXX1.1XXX最高數(shù)治槐甌胛?補碼0.1XXX1.0XXX符號位與最高數(shù)字位必須相反對于二進制尾數(shù),規(guī)格化限制了其范圍是:1/2W|M|V1,通過左右移動小數(shù)點,增減階碼的值來進行規(guī)格化處理。在浮點數(shù)中,零的表示比較特殊。一個是零浮點數(shù),一般地,對于規(guī)格化的浮點數(shù)來說,無論階碼為任何值,尾數(shù)為零就認為該浮點數(shù)是零,但這實際上是由尾數(shù)的舍入而近似的值,要讓總體浮點數(shù)趨近于零,其階碼必須是一個不超出表示范闈的最大的負數(shù)才行。設階碼含符號為n位,則整數(shù)階碼所表示的范圍是:至或至,即是或。另一個問題產(chǎn)生于零的唯一表達問題,為了實現(xiàn)用指令測試零,約定在定點數(shù)和浮點數(shù)格式中零具有相同的表達式,將浮點數(shù)的階碼值進行余編碼,就像BCD碼中余3碼加3一樣,階碼被描述為E加上,這個就叫偏移(bias),由上面分析可知的取值有兩種,浮點數(shù)的標準表示形式(正EE754標準)所采用的是偏移值。3浮點數(shù)的表示范圍浮點數(shù)的表示有一定的范圍,超出范圍時會產(chǎn)生溢出(flow),一般稱大于絕對值最大的數(shù)據(jù)為上溢(overflow),小于絕對值最小的數(shù)據(jù)為下溢(underflow)。浮點數(shù)表示范I韋I一般分以下幾種情況考慮,設浮點數(shù)的階碼和尾數(shù)均用補碼表示(原碼表示比較簡單),階碼為m+1位(其中1位是符號),尾數(shù)為n+1(其中1位是符號),則浮點數(shù)的典型范圍值如表2所示。表2浮點數(shù)的典型范圍值典型范闈浮點數(shù)代碼真值數(shù)符(Ms)階碼(E)尾數(shù)(M)最大正數(shù)最小正數(shù)規(guī)格化的最小正數(shù)絕對值最大的負數(shù)絕對值最小的負數(shù)規(guī)格化的絕對值最小負數(shù)000111011...11100...00100...00011...11100...00TOC\o"1-5"\h\z100...0011 1100 010000 001101 114標準表示法為便于軟件的移植,浮點數(shù)的表示格式應該有統(tǒng)一標準。1985年IEEE(InstituteofElectiicalandElectronicsEngmeers)提出了IEEE754標準°該標準規(guī)定基數(shù)為2,階碼E用移碼表示,尾數(shù)M用原碼表示,根據(jù)原碼的規(guī)格化方法,最高數(shù)字位總是1,該標準將這個1缺省存儲,使得尾數(shù)表示范圍比實際存儲的一位。實數(shù)的IEEE754標準的浮點數(shù)格式為:具體有三種形式:表3IEEE754三種浮點數(shù)的格式參數(shù)浮點數(shù)類型存儲位數(shù)偏移值()階碼E的取值范圍真值表達式數(shù)符(s)階碼(E)尾數(shù)(M)總位數(shù)十六進制十進制短實數(shù)1823327FH1271-254長實數(shù)11152643FFH10231~2046臨時實數(shù)11564803FFFH163831~32766對于階碼為0或為255(2047)的情況,正EE有特殊的規(guī)定,由于篇幅有限,在此不討論。在浮點數(shù)總位數(shù)不變的情況下,其精度值與范闈值是矛盾的,因此一般的機器都提供有單、雙精度兩種格式。表4中列出了IEEE754單精度浮點數(shù)的表示范圍,對于雙精度只需要修改一下偏移值和尾數(shù)位數(shù)即可。表4IEEE754單精度、雙精度浮點數(shù)范圍典型范圍浮點數(shù)代碼真值數(shù)符(Ms)階碼(E)尾數(shù)(M)最大正數(shù)最小正數(shù)絕對值最大的負數(shù)絕對值最小的負數(shù)001111111100000000111111110TOC\o"1-5"\h\z0000000111 1100 001100 00標準浮點數(shù)的存儲格式與圖1(b)相似,只是在尾數(shù)中隱含存儲著一個1,因此在計算尾數(shù)的真值時比一般形式要多一個整數(shù)lo對于階碼E的存儲形式因為是127的偏移,所以在計算其移碼時與人們熟悉的128偏移不一樣,正數(shù)的值比用128偏移求得的少1,負數(shù)的值多1,為避免計算錯誤,方便理解,常將E當成二進制真值進行存儲。例如:將數(shù)值-0.5按IEEE754單精度格式存儲,先將-0.5換成二進制并寫成標準形式:-0.510=-0」2=-1.0X2-12,這里s=l,M為全0,E-127=-l,E=12610=011U1102,則存儲形式為:101111110000000000000000000000000=BE00000016
這里不同的下標代表不同的進制。綜上所述,筆者通過多年的教學實踐,對學生特別容易迷惑的地方進行了分析研究,并給出了結論性的總結,彌補了大多數(shù)教課書中講不明白的問題。參考文獻:.JohnP.Hayes.ComputerAiclutectuieandOrganization.ThudEdition.北京:清華大學出版社影印,2001.173-178.[美]DavidA.Patterson.JohnL.Hennessy著.鄭緯民等譯.COMPUTERORGANIZATION&DESIGN.SecondEdition.北京:清華大學出版社,2003.212-214.白中英.計算機組成原理.網(wǎng)絡版,北京:科學出版社,2002.20-21.胡越民.計算機組成與系統(tǒng)結構,北京:電子工業(yè)出版社,2002.58?62一:概述IEEE754浮點數(shù)格式短實數(shù)也稱單精度數(shù)長實數(shù)也稱雙精度數(shù)一:概述IEEE754浮點數(shù)格式短實數(shù)也稱單精度數(shù)長實數(shù)也稱雙精度數(shù)符號位1位,階碼8位,尾數(shù)23位符號位1位,階碼11位,尾數(shù)52位42E48000第一步,化為2進制01000010111001001000000000000000第二步:因為正EE754使用1個符號,8個階碼,23個尾數(shù),我們分別在上面提取這些內(nèi)容.符號:第一位:0表示正數(shù)階碼29位:10000101為133,實際的累值為133-127=6尾數(shù):10-32位:11001001000000000000000,實際值為LU001001(1+尾數(shù))第三步:根據(jù)公式寫出實際數(shù)值大小為1110010.01,化為十進制為:114.25指數(shù)偏移量127(7FH)1023(3FFH)16383(3FFFH)指數(shù)偏移量127(7FH)1023(3FFH)16383(3FFFH)值real*4值real*4real*8real*101位符號位(s)、8位指數(shù)(e),23位尾數(shù)g共32位)1位符號位(s)、11位指數(shù)(e),52位尾數(shù)g共64位)1位符號位(s)、15位指數(shù)(e),64位尾數(shù)(m洪80位)計算公式:V=(-l)As*2AE*M(當指數(shù)位為0時)(當指數(shù)位不全為0或不全1)V=(-l)八s*2(當指數(shù)位為0時)(當指數(shù)位不全為0或不全1)V=(-irs*2八(指數(shù)位數(shù)值-指數(shù)偏移量)*(1+尾數(shù))情況1:當e(各位)為全。時:E=l-(2A(e(位數(shù))-1)-1);<==>E=1-指數(shù)偏移量M=nio如:ieal*4是8位,E=1-(2A(8-1)-1)=1-127=-126在real*4時:V=(-l)As*2A(-126)*m在real*8時:V=(-l)As*2A(-1022)*m情況2:當e(各位)不為全。且不為全1時:E=e(值)-(2人(e(位數(shù))-1)-1);<===>E=指數(shù)位數(shù)值-指數(shù)偏移量M=l+nio在real*4時:V=(-l)As*2A(e(值)-127)*(l+m)在real*8時:V=(-l)As*2A(e(值)-1023)*(1+111)三:將浮點格式轉(zhuǎn)換成十進制數(shù)[例3.1]:0x00280000(real*4)轉(zhuǎn)換成二進制00000000001010000000000000000000我們將其分段:符號位指數(shù)部分(8位)尾數(shù)部分0 00000000 01010000000000000000000符號位=0;指數(shù)部分=0;尾數(shù)部分M為m:0.01010000000000000000000=0.3125該浮點數(shù)的十進制為:(-l)z0*2A(-126)*0.3125=3.6734198463196484624023016788195e-39[例3.2]:0xC04E000000000000(ieal*8)轉(zhuǎn)換成二進制1100000001001110000000000000000000000000000000000000000000000000符號位指數(shù)部分(11位)尾數(shù)部分1 10000000100 1110000000000000000000000000000000000000000000000000符號位=1;指數(shù)=1028,因指數(shù)部分不為全。且不為全1,則:尾數(shù)部分M為1+m:1.1110000000000000000000000000000000000000000000000000=1.875該浮點數(shù)的十進制為:(-l)Al*2A(1028-1023)*1.875=-60四:將十進制數(shù)轉(zhuǎn)換成浮點格式(real*4)[例4」]:26.0十進制26.0轉(zhuǎn)換成二進制11010.0規(guī)格化二進制數(shù)L10100*2人4計算指數(shù)4+127=131符號位指數(shù)部分尾數(shù)部分01000001110100000000000000000000以單精度(real*4)浮點格式存儲該數(shù)010000011101000000000000000000000x41D00000[例4.2]:0.75十進制0.75轉(zhuǎn)換成二進制0.11規(guī)格化二進制數(shù)計算指數(shù)-1+127=126符號位指數(shù)部分尾數(shù)部分00111111
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 郴州2025年湖南郴州市安仁縣事業(yè)單位招聘79人筆試歷年參考題庫附帶答案詳解
- 衢州浙江衢州江山市雙塔街道社區(qū)衛(wèi)生服務中心招聘編外護士筆試歷年參考題庫附帶答案詳解
- 牡丹江2025年黑龍江牡丹江市中醫(yī)醫(yī)院招聘14人筆試歷年參考題庫附帶答案詳解
- 文山2025年云南文山丘北縣第五批城鎮(zhèn)公益性崗位招聘14人筆試歷年參考題庫附帶答案詳解
- 山東2025年山東省地質(zhì)礦產(chǎn)勘查開發(fā)局所屬事業(yè)單位招聘64人筆試歷年參考題庫附帶答案詳解
- 職業(yè)人群智能健康干預的知情同意簡化策略-1-1
- 周口2025年河南周口市商水縣城區(qū)學校選調(diào)教師233人筆試歷年參考題庫附帶答案詳解
- 云浮2025年廣東云浮新興縣委黨校招聘緊缺人才筆試歷年參考題庫附帶答案詳解
- 院感及職業(yè)暴露培訓課件
- 耳鼻喉科治療知情同意溝通策略
- 品牌管理指南的建模指南
- 氣動安全知識培訓課件
- 采購違規(guī)管理辦法
- DB32/T 3392-2018灌溉水系數(shù)應用技術規(guī)范
- 股東清算解散協(xié)議書
- 產(chǎn)后腰背疼康復治療
- 2025年商業(yè)物業(yè)抵押貸款合同范本
- 2024用電信息采集系統(tǒng)技術規(guī)范第1部分:專變采集終端
- 浙江省杭州市2024年中考語文試卷(含答案)
- 期末達標測試卷(試題)-2024-2025學年人教PEP版英語四年級上冊
- DLT 1563-2016 中壓配電網(wǎng)可靠性評估導則
評論
0/150
提交評論