版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
浮點(diǎn)數(shù)表示及運(yùn)算第一頁,共五十四頁,2022年,8月28日一、浮點(diǎn)數(shù)的表示N=Re×m=2E×M=2±e×(±m(xù))E0E1E2………EmM0M1M2………Mn尾數(shù)值階值階符尾符9×10-28=0.9×10-272×1033=0.2×1034任意一個(gè)十進(jìn)制數(shù)N可以寫成N=10E·×M
(十進(jìn)制表示)計(jì)算機(jī)中一個(gè)任意進(jìn)制數(shù)N可以寫成
m
:尾數(shù),是一個(gè)純小數(shù)。
e
:浮點(diǎn)的指數(shù),是一個(gè)整數(shù)。
R:基數(shù),對(duì)于二進(jìn)計(jì)數(shù)值的機(jī)器是一個(gè)常數(shù),一般規(guī)定R為2,8或16第二頁,共五十四頁,2022年,8月28日浮點(diǎn)數(shù)的表示范圍負(fù)上溢-+負(fù)數(shù)正數(shù)0正上溢負(fù)下溢正下溢N=2E×M|N|→∞產(chǎn)生正上溢或者負(fù)上溢|N|→0產(chǎn)生正下溢或者負(fù)下溢尾數(shù):用定點(diǎn)小數(shù)表示,給出有效數(shù)字的位數(shù),決定了浮點(diǎn)數(shù)的表示精度階碼:用定點(diǎn)整數(shù)形式表示,指明小數(shù)點(diǎn)在數(shù)據(jù)中的位置,決定了浮點(diǎn)數(shù)的表示范圍。一個(gè)機(jī)器浮點(diǎn)數(shù)由階碼和尾數(shù)及其符號(hào)位組成:最大正數(shù)最小正數(shù)最小負(fù)數(shù)最大負(fù)數(shù)第三頁,共五十四頁,2022年,8月28日8位定點(diǎn)小數(shù)可表示的范圍0.0000001
---0.1111111
1/128---127/128設(shè)階碼2位,尾數(shù)4位可表示2-11*0.0001---211*0.11110.0000001
---111.1設(shè)階碼3位,尾數(shù)3位可表示2-111*0.001---2111*0.1110.0000000001
---1110000機(jī)器字長一定時(shí),階碼越長,表示范圍越大,精度越低浮點(diǎn)數(shù)表示范圍比定點(diǎn)數(shù)大,精度高第四頁,共五十四頁,2022年,8月28日一個(gè)浮點(diǎn)數(shù)有不同的表示:
0.5;0.05101
;0.005102;5010-2為提高數(shù)據(jù)的表示精度,需做規(guī)格化處理。浮點(diǎn)數(shù)是數(shù)學(xué)中實(shí)數(shù)的子集合,由一個(gè)純小數(shù)乘上一個(gè)指數(shù)值來組成。二、浮點(diǎn)數(shù)規(guī)格化把不滿足這一表示要求的尾數(shù),變成滿足這一要求的尾數(shù)的操作過程,叫作浮點(diǎn)數(shù)的規(guī)格化處理,通過尾數(shù)移位和修改階碼實(shí)現(xiàn)。在計(jì)算機(jī)內(nèi),其純小數(shù)部分被稱為浮點(diǎn)數(shù)的尾數(shù),對(duì)非0值的浮點(diǎn)數(shù),要求尾數(shù)的絕對(duì)值必須>=1/2,即尾數(shù)域的最高有效位應(yīng)為1,稱滿足這種表示要求的浮點(diǎn)數(shù)為規(guī)格化表示:
0.1000101010第五頁,共五十四頁,2022年,8月28日規(guī)格化目的:為了提高數(shù)據(jù)的表示精度為了數(shù)據(jù)表示的唯一性尾數(shù)為R進(jìn)制的規(guī)格化:絕對(duì)值大于或等于1/R二進(jìn)制原碼的規(guī)格化數(shù)的表現(xiàn)形式:
正數(shù)
0.1xxxxxx負(fù)數(shù)
1.0xxxxxx正數(shù)
0.1xxxxxx負(fù)數(shù)
1.1xxxxxx補(bǔ)碼尾數(shù)的規(guī)格化的表現(xiàn)形式:尾數(shù)的最高位與符號(hào)位相反。第六頁,共五十四頁,2022年,8月28日解:12310=11110112=0.11110110002×27
[7]移=10000+00111=10111 [0.1111011000]補(bǔ)=0.1111011000 [123]浮=10111
01111011000=BBD8H例:對(duì)數(shù)據(jù)12310作規(guī)格化浮點(diǎn)數(shù)的編碼,假定1位符號(hào)位,基數(shù)為2,階碼5位,采用移碼,尾數(shù)10位,采用補(bǔ)碼。第七頁,共五十四頁,2022年,8月28日S——尾數(shù)符號(hào),0正1負(fù);M——尾數(shù),純小數(shù)表示,小數(shù)點(diǎn)放在尾數(shù)域的最前面。采用原碼表示。E——階碼,采用“移碼”表示(移碼可表示階符);
階符采用隱含方式,即采用移碼方法來表示正負(fù)指數(shù)。
SEM31302322032位
SEM63625251064位為便于軟件移植,使用IEEE(電氣和電子工程師協(xié)會(huì))標(biāo)準(zhǔn)IEEE754
標(biāo)準(zhǔn):尾數(shù)用原碼;階碼用“移碼”;基為2。三、浮點(diǎn)數(shù)的標(biāo)準(zhǔn)格式IEEE754第八頁,共五十四頁,2022年,8月28日規(guī)格化浮點(diǎn)數(shù)的真值
x=
(-1)s
(1.M)2E-127e=E–127一個(gè)規(guī)格化的32位浮點(diǎn)數(shù)x的真值為:
SEM31302322032位浮點(diǎn)數(shù)格式:
x=(–1)s×(1.M)×2E-1023一個(gè)規(guī)格化的64位浮點(diǎn)數(shù)x的真值為:這里e是真值,E是機(jī)器數(shù)1.隱藏位技術(shù)2.階碼用“移碼”偏移值127而不是128Emin=1,Emax=254/2046原碼非0值浮點(diǎn)數(shù)的尾數(shù)數(shù)值最高位必定為1,則在保存浮點(diǎn)數(shù)到內(nèi)存前,通過尾數(shù)左移,強(qiáng)行把該位去掉,用同樣多的位數(shù)能多存一位二進(jìn)制數(shù),有利于提高數(shù)據(jù)表示精度,稱這種處理方案使用了隱藏位技術(shù)。當(dāng)然,在取回這樣的浮點(diǎn)數(shù)到運(yùn)算器執(zhí)行運(yùn)算時(shí),必須先恢復(fù)該隱藏位。第九頁,共五十四頁,2022年,8月28日例:若浮點(diǎn)數(shù)x的二進(jìn)制存儲(chǔ)格式為(41360000)16,求其32位浮點(diǎn)數(shù)的十進(jìn)制值。解:0100,0001,0011,0110,0000,0000,0000,0000
數(shù)符:0
階碼:1000,0010
尾數(shù):011,0110,0000,0000,0000,0000
指數(shù)e=階碼-127=10000010-01111111=00000011=(3)10
包括隱藏位1的尾數(shù):
1.M=1.01101100000000000000000=1.011011
于是有x=(-1)s×1.M×2e
=+(1.011011)×23=+1011.011=(11.375)10第十頁,共五十四頁,2022年,8月28日例:
將十進(jìn)制數(shù)20.59375轉(zhuǎn)換成32位浮點(diǎn)數(shù)的二進(jìn)制格式來存儲(chǔ)。解:首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù):
20.59375=10100.10011然后移動(dòng)小數(shù)點(diǎn),使其在第1,2位之間
10100.10011=1.010010011×24
e=4于是得到:e=E–127S=0,E=4+127=131=1000,0011,M=010010011最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為
01000001
101001001100000000000000=(41A4C000)16
第十一頁,共五十四頁,2022年,8月28日解:-0.75=-3/4=-0.112=-1.1×2-1
=(-1)1×(1+0.10000000000000000000000)×2-1=(-1)1×(1+0.10000000000000000000000)×2126-127s=1,E=12610=011111102,F(xiàn)=1000…000。
1011,1111,0100,0000,0000,0000,0000,0000
BF400000H例:將十進(jìn)制數(shù)-0.75表示成單精度的IEEE754標(biāo)準(zhǔn)代碼。第十二頁,共五十四頁,2022年,8月28日單精度浮點(diǎn)數(shù)編碼格式+0/-0000/1(-1)S×(0.f)
×2(-126)f(非零)00/1(-1)S×(1.f)
×2(e-127)f1~2540/1-∞02551+∞02550sNaNSignalingNaN非零0xxxx2550/1NaNNotaNumber非零1xxxx2550/1表示尾數(shù)階碼符號(hào)位第十三頁,共五十四頁,2022年,8月28日IEEE754規(guī)格化浮點(diǎn)數(shù)表示范圍Emax=2046,f=1.1111…,1.111…1×22046-1023
=21023×(2-2-52)Emin=1,M=0,1.0×21-1023=2-1022
雙精度Emax=254,f=1.1111…,1.111…1×2254-127
=2127×(2-2-23)Emin=1,M=0,1.0×21-127=2-126單精度最大值最小值格式第十四頁,共五十四頁,2022年,8月28日設(shè)有兩個(gè)浮點(diǎn)數(shù)x和y,它們分別為:浮點(diǎn)加減法運(yùn)算其中Ex和Ey分別為數(shù)x和y的階碼,
Mx和My為數(shù)x和y的尾數(shù)。兩浮點(diǎn)數(shù)進(jìn)行加法和減法的運(yùn)算規(guī)則是:
x±y=(Mx2Ex-Ey±My)2EyEx<=Ey
x=2Ex·Mxy=2Ey·My第十五頁,共五十四頁,2022年,8月28日完成浮點(diǎn)加減運(yùn)算的操作過程大體分為:(1)0操作數(shù)的檢查;(2)比較階碼大小并完成對(duì)階;(3)尾數(shù)進(jìn)行加或減運(yùn)算;(4)結(jié)果規(guī)格化。(5)舍入處理。(6)溢出處理。第十六頁,共五十四頁,2022年,8月28日使二數(shù)階碼相同(即小數(shù)點(diǎn)位置對(duì)齊),這個(gè)過程叫作對(duì)階。
?
先求兩數(shù)階碼Ex和Ey之差,即△E=Ex-Ey
若△E=0,表示
Ex=Ey
若△E>0,Ex>Ey
若△E<0,Ex<Ey通過尾數(shù)的移動(dòng)來改變Ex或Ey,使其相等。
?對(duì)階原則
階碼小的數(shù)向階碼大的數(shù)對(duì)齊;對(duì)階過程小階的尾數(shù)右移,每右移一位,其階碼加1(右規(guī))。(2)對(duì)階(1)0操作數(shù)檢查
210*(0.11000)+28*(0.00110)大階對(duì)小階
210*(0.11000)--28*(11.000)11.000+0.00110?????????小階對(duì)大階
28*(0.00110)--210*(0.00001)0.00001+0.11000=0.11001第十七頁,共五十四頁,2022年,8月28日例:x=201×0.1101,y=211×(-0.1010),求x+y=?解:為便于直觀了解,兩數(shù)均以補(bǔ)碼表示,階碼、尾數(shù)均采用雙符號(hào)位。
[x]補(bǔ)=0001,00.1101[y]補(bǔ)=0011,11.0110[△E]補(bǔ)=[Ex]補(bǔ)-[Ey]補(bǔ)=0001+1101=1110
△E=-2,表示Ex比Ey小2,
因此將x的尾數(shù)右移兩位.
右移一位,
得[x]補(bǔ)=0010,00.0110
再右移一位,
得[x]補(bǔ)=0011,00.0011
至此,△E=0,對(duì)階完畢.第十八頁,共五十四頁,2022年,8月28日
尾數(shù)求和方法與定點(diǎn)加減法運(yùn)算完全一樣。對(duì)階完畢可得:[x]補(bǔ)=0011,00.0011[y]補(bǔ)=0011,11.0110
對(duì)尾數(shù)求和:00.0011+11.011011.1001
即得:[x+y]補(bǔ)=0011,11.1001(3)尾數(shù)求和運(yùn)算第十九頁,共五十四頁,2022年,8月28日(4)結(jié)果規(guī)格化求和之后得到的數(shù)可能不是規(guī)格化了的數(shù),為了增加有效數(shù)字的位數(shù),提高運(yùn)算精度,必須將求和的結(jié)果規(guī)格化。①規(guī)格化的定義:
(二進(jìn)制)對(duì)正數(shù):S=00.1×××…×對(duì)負(fù)數(shù):S=11.0×××…×采用雙符號(hào)位的補(bǔ)碼:采用原碼:
正數(shù):S=0.1×××…×
負(fù)數(shù):S=1.1×××…×第二十頁,共五十四頁,2022年,8月28日規(guī)格化規(guī)則運(yùn)算結(jié)果產(chǎn)生溢出時(shí),必須進(jìn)行右歸如變形補(bǔ)碼結(jié)果出現(xiàn)10.XX
或者01.XXX如運(yùn)算結(jié)果出現(xiàn)0.0XXX或1.1XX
必須左歸左歸時(shí)最低數(shù)據(jù)有效位補(bǔ)0右歸時(shí)連同符號(hào)位進(jìn)位位一起右移左歸時(shí),階碼作減法,右歸時(shí),階碼作加法00.0XXXX
--
00.1XXX0
左規(guī)11.1XXXX
--
11.0XXX0
左規(guī)01.XXXXX
--
00.1XXXX
右規(guī)10.XXXXX
--
11.0XXXX
右規(guī)
規(guī)格化方法第二十一頁,共五十四頁,2022年,8月28日例:兩浮點(diǎn)數(shù)x=0.1101210,y=(0.1011)201,求x+y。解:[x]補(bǔ)=0010,00.1101[y]補(bǔ)=0001,00.1011
對(duì)階:
[△E]補(bǔ)=[Ex]補(bǔ)-[Ey]補(bǔ)=0010+1111=0001y向x對(duì)齊,將y的尾數(shù)右移一位,階碼加1。
[y]補(bǔ)=0010,00.0101
[x+y]補(bǔ)=0010,01.0010右歸:運(yùn)算結(jié)果兩符號(hào)位不同,其絕對(duì)值大于1,右歸。
[x+y]補(bǔ)=0011,00.1001求和:
00.1101+00.010101.0010第二十二頁,共五十四頁,2022年,8月28日在對(duì)階或向右規(guī)格化時(shí),尾數(shù)要向右移位,這樣,被右移的尾數(shù)的低位部分會(huì)被丟掉,從而造成一定誤差,因此要進(jìn)行舍入處理。
?
簡(jiǎn)單的舍入方法有兩種:①“0舍1入”法即如果右移時(shí)被丟掉數(shù)位的最高位為0則舍去,反之則將尾數(shù)的末位加“1”。②“恒置1”法即只要數(shù)位被移掉,就在尾數(shù)的末位恒置“1”。從概率上來說,丟掉的0和1各為1/2。(5)舍入處理第二十三頁,共五十四頁,2022年,8月28日在IEEE754標(biāo)準(zhǔn)中,舍入處理提供了四種可選方法:就近舍入其實(shí)質(zhì)就是通常所說的"四舍五入"。例如,尾數(shù)超出規(guī)定的23位的多余位數(shù)字是10010,多余位的值超過規(guī)定的最低有效位值的一半,故最低有效位應(yīng)增1。若多余的5位是01111,則簡(jiǎn)單的截尾即可。對(duì)多余的5位10000這種特殊情況:若最低有效位現(xiàn)為0,則截尾;若最低有效位現(xiàn)為1,則向上進(jìn)一位使其變?yōu)?。朝0舍入即朝數(shù)軸原點(diǎn)方向舍入,就是簡(jiǎn)單的截尾。無論尾數(shù)是正數(shù)還是負(fù)數(shù),截尾都使取值的絕對(duì)值比原值的絕對(duì)值小。這種方法容易導(dǎo)致誤差積累。朝+∞舍入對(duì)正數(shù)來說,只要多余位不全為0則向最低有效位進(jìn)1;對(duì)負(fù)數(shù)來說則是簡(jiǎn)單的截尾。朝-∞舍入處理方法正好與朝+∞舍入情況相反。對(duì)正數(shù)來說,只要多余位不全為0則簡(jiǎn)單截尾;對(duì)負(fù)數(shù)來說,向最低有效位進(jìn)1。第二十四頁,共五十四頁,2022年,8月28日(6)溢出處理與定點(diǎn)加減法一樣,浮點(diǎn)加減運(yùn)算最后一步也需判溢出。在浮點(diǎn)規(guī)格化中已指出,當(dāng)尾數(shù)之和(差)出現(xiàn)01.××…×或10.××…×?xí)r,并不表示溢出,只有將此數(shù)右規(guī)后,再根據(jù)階碼來判斷浮點(diǎn)運(yùn)算結(jié)果是否溢出。若機(jī)器數(shù)為補(bǔ)碼,尾數(shù)為規(guī)格化形式,并假設(shè)階符取2位,階碼取7位、數(shù)符取2位,尾數(shù)取n位,則它們能表示的補(bǔ)碼在數(shù)軸上的表示范圍如圖所示。正負(fù)第二十五頁,共五十四頁,2022年,8月28日?qǐng)D中A,B,a,b分別對(duì)應(yīng)最小負(fù)數(shù)、最大正數(shù)、最大負(fù)數(shù)和最小正數(shù)。它們所對(duì)應(yīng)的真值分別是:
A最小負(fù)數(shù)
2+127(-1)B最大正數(shù)
2+127(1-2-n)a最大負(fù)數(shù)
2-128(-2-1-2-n)b最小正數(shù)
2-128
2-1正負(fù)最小負(fù)數(shù)最大正數(shù)最大負(fù)數(shù)最小正數(shù)第二十六頁,共五十四頁,2022年,8月28日?qǐng)D中a,b之間的陰影部分,對(duì)應(yīng)階碼小于128的情況,叫做浮點(diǎn)數(shù)的下溢。下溢時(shí).浮點(diǎn)數(shù)值趨于零,故機(jī)器不做溢出處理,僅把它作為機(jī)器零。圖中的A、B兩側(cè)陰影部分,對(duì)應(yīng)階碼大于127的情況,叫做浮點(diǎn)數(shù)的上溢。此刻,浮點(diǎn)數(shù)真正溢出,機(jī)器需停止運(yùn)算,作溢出中斷處理。一般說浮點(diǎn)溢出,均是指上溢。
可見,浮點(diǎn)機(jī)的溢出與否可由階碼的符號(hào)決定:
階碼[j]補(bǔ)=01,為上溢,機(jī)器停止運(yùn)算,做中斷處理;階碼[j]補(bǔ)=10,為下溢,按機(jī)器零處理。正負(fù)第二十七頁,共五十四頁,2022年,8月28日例:若某次加法操作的結(jié)果為[X+Y]補(bǔ)=11.010,00.0000110111則應(yīng)對(duì)其進(jìn)行向左規(guī)格化操作:尾數(shù)為:00.1101110000,階碼減4:
11.010+11.100[-4]補(bǔ)
10.110例:若某次加法操作的結(jié)果為[X+Y]補(bǔ)=00.111,10.1011100111則應(yīng)對(duì)其進(jìn)行向右規(guī)格化操作:尾數(shù)為:11.0101110011,階碼加1:01.000
階碼超出了它所能表示的最大正數(shù)(+7),表明本次浮點(diǎn)運(yùn)算產(chǎn)生了溢出。階碼超出了它所能表示的最小負(fù)數(shù)(-8),表明本次浮點(diǎn)運(yùn)算產(chǎn)生了溢出。第二十八頁,共五十四頁,2022年,8月28日例:兩浮點(diǎn)數(shù)x=2101×0.11011011,
y=2111×(-0.10101100)。假設(shè)尾數(shù)在計(jì)算機(jī)中以補(bǔ)碼表示,可存儲(chǔ)10位尾數(shù),2位符號(hào)位,階碼以補(bǔ)碼表示,雙符號(hào)位,求x+y。解:將x,y轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)格式
[x]浮
=00101,00.11011011[Y]浮
=00111,11.01010011+100111,11.01010100步驟1:對(duì)階,階差為Ex-Ey=[Ex]補(bǔ)+[-Ey]補(bǔ)
[-Ey]補(bǔ)=11000+1=11001Ex-Ey=00101+11001=11110
=-(00001+1)=-00010=-2<0Ex-Ey<0Ex<Ey小階對(duì)大階,
X階碼加2X尾數(shù)右移2位第二十九頁,共五十四頁,2022年,8月28日解:將x,y轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)格式
[x]浮
=00101,00.11011011[Y]浮
=00111,11.01010011+100111,11.01010100步驟1:對(duì)階,階差為Ex-Ey=[Ex]補(bǔ)+[-Ey]補(bǔ)
Ex-Ey=-2<0Ex-Ey<0Ex<Ey小階對(duì)大階,
X階碼加2X尾數(shù)右移2位
[x]浮
=00111,00.00110110(11)步驟2:尾數(shù)求和
[X+Y]浮=00111,00.00110110(11)+00111,11.01010100=00111,11.10001010(11)第三十頁,共五十四頁,2022年,8月28日步驟2:尾數(shù)求和
[X+Y]浮=00111,00.00110110(11)+00111,11.01010100=00111,11.10001010(11)步驟3:計(jì)算結(jié)果規(guī)格化
[X+Y]浮為非規(guī)格化數(shù),左歸一位,階碼減一,
00110,11.00010101(1)步驟4:舍入處理
[X+Y]浮=00110,11.00010110(0舍1如法)[X+Y]浮=00110,11.00010101(截去法)步驟5:溢出判斷
無溢出
[X+Y]浮=2110x(-00.11101011)第三十一頁,共五十四頁,2022年,8月28日第三十二頁,共五十四頁,2022年,8月28日例
設(shè)x=20100.11011011,y=2100(-0.10101100),求x+y。解:階碼采用雙符號(hào)位,尾數(shù)采用單符號(hào)位,則它們的浮點(diǎn)表示分別為[x]浮=00010,
0.11011011
[y]浮=00100,
1.01010100(1)求階差并對(duì)階△E=Ex-
Ey=[Ex]補(bǔ)+[-Ey]補(bǔ)=00010+11100=11110[x]?。?0100,0.00110110(11)其中(11)表示Mx右移2位后移出的最低兩位數(shù)。即△E為-2,x的階碼小,應(yīng)使Mx右移兩位,Ex加2,第三十三頁,共五十四頁,2022年,8月28日(2)尾數(shù)求和(4)舍入處理采用0舍1入法處理,則有:
1.00010101+11.00010110
0.00110110(11)+1.01010100
1.10001010(11)(3)規(guī)格化處理尾數(shù)運(yùn)算結(jié)果的符號(hào)位與最高數(shù)值位為同值,應(yīng)執(zhí)行左規(guī)處理,結(jié)果為1.00010101(10),階碼為00011。(5)判斷溢出階碼符號(hào)位為00,不溢出,故得最終結(jié)果為
x+y=2011×(-0.11101010)第三十四頁,共五十四頁,2022年,8月28日例:兩浮點(diǎn)數(shù)x=201×0.1101,y=211×(-0.1010)。假設(shè)尾數(shù)在計(jì)算機(jī)中以補(bǔ)碼表示,可存儲(chǔ)4位尾數(shù),2位保護(hù)位,階碼以原碼表示,求x+y。解:將x,y轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)格式
[x]浮
=0001,00.1101 [y]浮
=0011,11.0110步驟1:對(duì)階,階差為11-01=10,即2,因此將x的尾數(shù)右移兩位,得
[x]浮
=0011,00.001101步驟2:對(duì)尾數(shù)求和,得: [x+y]浮
=0011,11.100101步驟3:由于符號(hào)位和第一位數(shù)相等,不是規(guī)格化數(shù),向左規(guī)格化,得
[x+y]浮
=0010,11.001010步驟4:截去。
[x+y]浮
=0010,11.0010步驟5:數(shù)據(jù)無溢出,因此結(jié)果為
x+y=210×(-0.1110)第三十五頁,共五十四頁,2022年,8月28日浮點(diǎn)乘除法運(yùn)算1.浮點(diǎn)乘法、除法運(yùn)算規(guī)則設(shè)有兩個(gè)浮點(diǎn)數(shù)x和y:x=2Ex·Mx
y=2Ey·My浮點(diǎn)乘法運(yùn)算的規(guī)則是:xy=2(Ex+Ey)·(Mx
My)
即:乘積的尾數(shù)是相乘兩數(shù)的尾數(shù)之積;
乘積的階碼是相乘兩數(shù)的階碼之和。浮點(diǎn)除法運(yùn)算的規(guī)則是:
x÷y=2(Ex-Ey)·(Mx÷My)
即:商的尾數(shù)是相除兩數(shù)的尾數(shù)之商;
商的階碼是相除兩數(shù)的階碼之差。第三十六頁,共五十四頁,2022年,8月28日2.浮點(diǎn)乘、除法運(yùn)算步驟浮點(diǎn)數(shù)的乘除運(yùn)算大體分為四步:(1)0操作數(shù)檢查;(2)階碼加/減操作;(3)尾數(shù)乘/除操作;(4)結(jié)果規(guī)格化及舍入處理。第三十七頁,共五十四頁,2022年,8月28日(2)浮點(diǎn)數(shù)的階碼運(yùn)算
?
對(duì)階碼的運(yùn)算有+1、-1、兩階碼求和、兩階碼求差四種,運(yùn)算時(shí)還必須檢查結(jié)果是否溢出。
?在計(jì)算機(jī)中,階碼通常用補(bǔ)碼或移碼形式表示。①移碼的運(yùn)算規(guī)則和判定溢出的方法移碼的定義為[x]移=2n+x-2n
≤x<2n[x]移+[y]移=2n+x+2n+y=2n+[x+y]移按此定義,則有=2n+(2n+(x+y))[x+y]移=-2n+[x]移+[y]移第三十八頁,共五十四頁,2022年,8月28日考慮到移碼和補(bǔ)碼的關(guān)系:
對(duì)同一個(gè)數(shù)值,其數(shù)值位完全相同,而符號(hào)位正好完全相反。
[y]補(bǔ)的定義為
[y]補(bǔ)=2n+1+y則求階碼和用如下方式完成:
=2n+1+(2n+(x+y))[x]移+[y]補(bǔ)=2n+x+2n+1+y即:[x+y]移=[x]移+[y]補(bǔ)
(mod2n+1)同理:[x-y]移=[x]移+[-y]補(bǔ)
(mod2n+1)②混合使用移碼和補(bǔ)碼第三十九頁,共五十四頁,2022年,8月28日
使用雙符號(hào)位的階碼加法器,并規(guī)定移碼的第二個(gè)符號(hào)位,即最高符號(hào)位恒用0參加加減運(yùn)算,則溢出條件是結(jié)果的最高符號(hào)位為1:
?當(dāng)?shù)臀环?hào)位為0時(shí),(10)表明結(jié)果上溢,
?當(dāng)?shù)臀环?hào)位為1時(shí),(11)表明結(jié)果下溢。
?當(dāng)最高符號(hào)位為0時(shí),表明沒有溢出:
低位符號(hào)位為1,(01)表明結(jié)果為正;
為0,(00)表明結(jié)果為負(fù)。③階碼運(yùn)算結(jié)果溢出處理第四十頁,共五十四頁,2022年,8月28日例:x=+011,y=+110,求[x+y]移和[x-y]移,并判斷是否溢出。解:階碼取3位(不含符號(hào)位),其對(duì)應(yīng)的真值范圍是-8~+7[x]移=01011,[y]補(bǔ)=00110,[-y]補(bǔ)=11010[x+y]移=[x]移+[y]補(bǔ)=[x-y]移=[x]移+[-y]補(bǔ)=
01011+0011010001結(jié)果上溢。結(jié)果正確,為-3。
01011+1101000101第四十一頁,共五十四頁,2022年,8月28日(3)尾數(shù)處理浮點(diǎn)加減法對(duì)結(jié)果的規(guī)格化及舍入處理也適用于浮點(diǎn)乘除法。第一種方法是:無條件地丟掉正常尾數(shù)最低位之后的全部數(shù)值。這種辦法被稱為截?cái)嗵幚?好處是處理簡(jiǎn)單,缺點(diǎn)是影響結(jié)果的精度。
第二種辦法是:運(yùn)算過程中保留右移中移出的若干高位的值,最后再按某種規(guī)則用這些位上的值修正尾數(shù)。這種處理方法被稱為舍入處理。第四十二頁,共五十四頁,2022年,8月28日?當(dāng)尾數(shù)用原碼表示時(shí):
最簡(jiǎn)便的方法是,只要尾數(shù)的最低位為1,或移出的幾位中有為1的數(shù)值位,就使最低位的值為1。另一種是0舍1入法,即當(dāng)丟失的最高位的值為1時(shí),把這個(gè)1加到最低數(shù)值位上進(jìn)行修正,否則舍去丟失的的各位的值。這樣處理時(shí),舍入效果對(duì)正數(shù)負(fù)數(shù)相同,入將使數(shù)的絕對(duì)值變大,舍則使數(shù)的絕對(duì)值變小。舍入處理第四十三頁,共五十四頁,2022年,8月28日?當(dāng)尾數(shù)是用補(bǔ)碼表示時(shí):
采用0舍1入法時(shí),若丟失的位不全為0時(shí):
對(duì)正數(shù)來說,舍入的結(jié)果與原碼分析相同;對(duì)負(fù)數(shù)來說,舍入的結(jié)果與原碼分析相反,即“舍”使絕對(duì)值變大,“入”使絕對(duì)值變?。粸槭乖?、補(bǔ)碼舍入處理后的結(jié)果相同,對(duì)負(fù)數(shù)可采用如下規(guī)則進(jìn)行舍入處理:
當(dāng)丟失的各位均為0時(shí),不必舍入;當(dāng)丟失的最高位為0,以下各位不全為0時(shí),或者丟失的最高位為1,以下各位均為0時(shí),則舍去丟失位上的值;當(dāng)丟失的最高位為1,以下各位不全為0時(shí),則執(zhí)行在尾數(shù)最低位入1的修正操作。第四十四頁,共五十四頁,2022年,8月28日例:
設(shè)[x1]補(bǔ)=11.01100000,[x2]補(bǔ)=11.01100001,[x3]補(bǔ)=11.01101000,[x4]補(bǔ)=11.01111001,求執(zhí)行只保留小數(shù)點(diǎn)后4位有效數(shù)字的舍入操作值。解:執(zhí)行舍入操作后,其結(jié)果值分別為
[x1]補(bǔ)=11.0110
(不舍不入)
[x2]補(bǔ)=11.0110
(舍)
[x3]補(bǔ)=11.0110
(舍)
[x4]補(bǔ)=11.1000
(入)第四十五頁,共五十四頁,2022年,8月28日例:設(shè)有浮點(diǎn)數(shù)x=2-50.0110011,y=23(-0.1110010),階碼用4位移碼表示,尾數(shù)(含符號(hào)位)用8位補(bǔ)碼表示。求[xy]浮。要求用補(bǔ)碼完成尾數(shù)乘法運(yùn)算,運(yùn)算結(jié)果尾數(shù)保留高8位(含符號(hào)位),并用尾數(shù)低位字長值處理舍入操作。解:移碼采用雙符號(hào)位,尾數(shù)補(bǔ)碼采用單符號(hào)位,則有
[Mx]補(bǔ)=0.0110011,[My]補(bǔ)=1.0001110,
[Ex]移=00011,
[Ey]移=01011,[Ey]補(bǔ)=00011,
[x]浮=00011,0.0110011,[y]?。?1011,1.0001110第四十六頁,共五十四頁,2022年,8月28日(2)尾數(shù)乘法運(yùn)算
可采用補(bǔ)碼陣列乘法器實(shí)現(xiàn),即有(1)求階碼和[Ex+Ey]移=[Ex]移+[Ey]補(bǔ)=00011+00011=00110,值為移碼形式-2。[Mx]補(bǔ)[My]補(bǔ)=[0.0110011]補(bǔ)[1.0001110]補(bǔ)=[1.1010010,1001010]補(bǔ)第四十七頁,共五十四頁,2022年,8月28日(4)舍入處理(3)規(guī)格化處理乘積的尾數(shù)符號(hào)位與最高數(shù)值位符號(hào)相同,不是規(guī)格化的數(shù),需要左規(guī),階碼變?yōu)?0101(-3),尾數(shù)變?yōu)?.0100101,0010100。尾數(shù)為負(fù)數(shù),取尾數(shù)高位字長,按舍入規(guī)則,舍去低位字長,故尾數(shù)為1.0100101。最終相乘結(jié)果為其真值為xy=2-3(-0.1011011)[xy]?。?0101,1.0100101第四十八頁,共五十四頁,2022年,8月28日由于浮點(diǎn)運(yùn)算分成階碼和尾數(shù)兩部分,因此浮點(diǎn)運(yùn)算器的實(shí)現(xiàn)比定點(diǎn)運(yùn)算器復(fù)雜得多。分析上述的浮點(diǎn)四則運(yùn)算可以發(fā)現(xiàn),對(duì)于階碼只有加減運(yùn)算,對(duì)于尾數(shù)則有加、減、乘、除4種運(yùn)算??梢姼↑c(diǎn)運(yùn)算器主要由兩個(gè)定點(diǎn)運(yùn)算部件組成,一個(gè)是階碼運(yùn)算部件,用來完成階碼加、減,以及控制對(duì)階時(shí)小階的尾數(shù)右移次數(shù)和規(guī)格化時(shí)對(duì)階碼的調(diào)整;另—個(gè)是尾數(shù)運(yùn)算部件,用來完成尾數(shù)的四則運(yùn)算以及判斷尾數(shù)是否已規(guī)格化。此外,還需要有溢出判斷電路
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度知識(shí)產(chǎn)權(quán)保護(hù)合同咨詢及代理服務(wù)協(xié)議3篇
- 二零二五版古董家具修復(fù)、安裝與展覽服務(wù)合同3篇
- 二零二五年服裝店轉(zhuǎn)讓合同書附帶品牌形象重塑及宣傳推廣服務(wù)3篇
- 二零二五版噪聲污染檢測(cè)與控制合同3篇
- 二零二五年度智能家居代理出租房租賃合同2篇
- 二零二五年杭州二手房買賣合同貸款與還款指導(dǎo)合同3篇
- 二零二五年金融科技公司股份代持與金融信息服務(wù)合同3篇
- 二零二五版房地產(chǎn)開發(fā)項(xiàng)目施工許可證報(bào)建代理合同3篇
- 二零二五版餐飲企業(yè)食品安全責(zé)任承包合同范本3篇
- 二零二五版古建筑保護(hù)監(jiān)理服務(wù)增補(bǔ)合同2篇
- 危險(xiǎn)性較大分部分項(xiàng)工程及施工現(xiàn)場(chǎng)易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 繼電保護(hù)試題庫(含參考答案)
- 《榜樣9》觀后感心得體會(huì)四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識(shí)》備考題庫(含答案)
- 《水下拋石基床振動(dòng)夯實(shí)及整平施工規(guī)程》
- 2025年云南大理州工業(yè)投資(集團(tuán))限公司招聘31人管理單位筆試遴選500模擬題附帶答案詳解
- 風(fēng)電危險(xiǎn)源辨識(shí)及控制措施
- 《教師職業(yè)道德與政策法規(guī)》課程教學(xué)大綱
- 營銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 兒童傳染病預(yù)防課件
- 護(hù)理組長年底述職報(bào)告
評(píng)論
0/150
提交評(píng)論