




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
*12.4定點(diǎn)除法運(yùn)算
定點(diǎn)除法運(yùn)算2.4.1原碼除法算法原理
2.4.2并行除法器
基本原理:
兩個(gè)原碼表示的數(shù)相除時(shí),商的符號(hào)由兩數(shù)的符號(hào)按位相加(異或)求得,商的數(shù)值部分由兩數(shù)的數(shù)值部分相除求得。
設(shè)有n位定點(diǎn)小數(shù)(定點(diǎn)整數(shù)也同樣適用):
被除數(shù)x,其原碼為:[x]原=xf.xn-1…x1x0
除數(shù)y,其原碼為:
[y]原=yf.yn-1…y1y0
則有商q=x/y,其原碼為:
[q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0)
商的符號(hào)運(yùn)算qf=xf⊕yf與原碼乘法一樣。
原碼除法運(yùn)算原理2.4.1原碼除法運(yùn)算原理
商的求法:商的數(shù)值部分的運(yùn)算,實(shí)質(zhì)上是兩個(gè)正數(shù)求商的運(yùn)算。所以,原碼的除法只需考慮兩個(gè)正數(shù)相除即可。根據(jù)我們所熟知的十進(jìn)制除法運(yùn)算方法,很容易得到二進(jìn)制數(shù)的除法運(yùn)算方法。所不同的只是在二進(jìn)制中,商的每一位不是“1”就是“0”,其運(yùn)算法則更簡(jiǎn)單一些。下面僅討論數(shù)值部分的運(yùn)算。設(shè)被除數(shù)x=0.1001,除數(shù)y=0.1011,模仿十進(jìn)制除法運(yùn)算,以手算方法求x÷y的過(guò)程如下:定點(diǎn)除法運(yùn)算
0.1101
(商q)
0.1011
0.10010
x(r0)被除數(shù)小于除數(shù),商0
-0.01011
2-1y除數(shù)右移1位,減除數(shù),商1
0.001110
r1得余數(shù)r1-0.0
01011
2-2y除數(shù)右移1位,減除數(shù),商1
0.0000110
r2
得余數(shù)r2-0.0
001011
2-3y除數(shù)右移1位,不減除數(shù),商0
0.00001100
r3
得余數(shù)r3-0.0
0001011
2-4y除數(shù)右移1位,減除數(shù),商1
0.00000001
r4得余數(shù)r4
得x÷y的商q=0.1101,余數(shù)為r=0.00000001。該步不作計(jì)算機(jī)計(jì)算需考慮的幾點(diǎn):
1、計(jì)算機(jī)中,小數(shù)點(diǎn)是固定的,不能簡(jiǎn)單地采用手算的辦法。為便于機(jī)器操作,計(jì)算機(jī)一般采用“除數(shù)右移”或“余數(shù)左移”的方法。
2、機(jī)器的運(yùn)算過(guò)程和人畢竟不同,人會(huì)眼看心算,一看就知道夠不夠減。但機(jī)器卻不會(huì)心算,必須先作減法,若余數(shù)為正,才知道夠減;若余數(shù)為負(fù),才知道不夠減。不夠減時(shí)必須恢復(fù)原來(lái)的余數(shù),以便再繼續(xù)往下運(yùn)算。這種方法稱為恢復(fù)余數(shù)法。要恢復(fù)原來(lái)的余數(shù),只要當(dāng)前的余數(shù)加上除數(shù)即可。但由于要恢復(fù)余數(shù),使除法進(jìn)行過(guò)程的步數(shù)不固定,因此控制比較復(fù)雜。機(jī)器實(shí)現(xiàn)除法運(yùn)算有兩個(gè)先決條件(純小數(shù)):除數(shù)不等于0,否則商為無(wú)窮大。被除數(shù)要小于除數(shù),否則商會(huì)溢出。定點(diǎn)除法運(yùn)算[例]x=0.101001,y=0.111,求x÷y。
[解:]
x*=|x|=0.101001,
y*=|y|=0.111,先求|x|/|y|,符號(hào)位單獨(dú)處理,
由于需要做減法運(yùn)算,所以需求[-y*]補(bǔ)=1.001
被除數(shù)x
0.101001
+[-y]補(bǔ)(減y
)
1.001
余數(shù)為負(fù)1.110001<0
q0=0
加y
0.111
(恢復(fù)余數(shù))
0.101001
余數(shù)左移
1.010010
減y
1.001
余數(shù)為正0.01101
>0
q1=1
余數(shù)左移0.1101
減y
1.001
余數(shù)為負(fù)1.1111
<0
q2=0
加y
0.111
(恢復(fù)余數(shù))
0.1101
余數(shù)左移1.101
減y
1.001
余數(shù)為正0.110
>0
q3=1
故得:
商
q=q0.q1q2q3=0.101余數(shù)
r=(0.00r3r4r5r6)=0.000110
定點(diǎn)除法運(yùn)算
冗余計(jì)算
冗余計(jì)算
顯然,恢復(fù)余數(shù)法中包含有一些無(wú)效(冗余)運(yùn)算。實(shí)際中常采用不恢復(fù)余數(shù)法,又稱加減交替法:
加減交替法是對(duì)恢復(fù)余數(shù)除法的一種修正。當(dāng)某一次求得的差值(余數(shù))為負(fù)時(shí),不是恢復(fù)它,而是繼續(xù)求下一位商,但用加上除數(shù)(+Y)的辦法來(lái)取代(-Y)操作,其他操作依然不變。其原理證明如下:當(dāng)余數(shù)Ri>0時(shí),商“1”,再對(duì)Ri左移一位后減除數(shù),即2Ri-y*;當(dāng)余數(shù)Ri<0時(shí),商“0”,先做Ri+y*(恢復(fù)余數(shù)),再做2(Ri+y*)-y*,即2Ri+y*;即可用2Ri±y*實(shí)現(xiàn)。
“不恢復(fù)余數(shù)法”除法規(guī)則:x/y1.首先對(duì)被除數(shù)|x|做減除數(shù)|y|運(yùn)算,即:+[-y*]補(bǔ);
2.判斷余數(shù)符號(hào),若余數(shù)為正(夠減),則:商上“1”;
3.余數(shù)左移一位,然后做減除數(shù)(+[-y*]補(bǔ))運(yùn)算;
4.若余數(shù)為負(fù)(不夠減),則:商上“0”;
5.余數(shù)左移一位,然后做加除數(shù)(+[y*]補(bǔ))運(yùn)算。加減交替法實(shí)例:[例]x=0.101001,y=0.111,求x÷y。
(書(shū)P49)[解:]
[-y]補(bǔ)=1.001
被除數(shù)x
0.101001
+[-y]補(bǔ)(減y
)
1.001
余數(shù)為負(fù)1.110001<0
q0=0
余數(shù)左移1.10001
加y
0.111
余數(shù)為正0.01101
>0
q1=1
余數(shù)左移0.1101
減y
1.001
余數(shù)為負(fù)1.1111
<0
q2=0
余數(shù)左移1.111
加y
0.111
余數(shù)為正0.110
>0
q3=1
故得
商
q=q0.q1q2q3=0.101
余數(shù)
r=(0.00r3r4r5r6)=0.000110定點(diǎn)除法運(yùn)算[例]x=0.101001,y=-0.111,求x÷y。
[解:]
xf=0,yf=1,x*=0.101001,y*=0.111,
[y*]補(bǔ)=0.111,[-y*]補(bǔ)=1.001
被除數(shù)x*
0.101001
+[-y*]補(bǔ)(減y*
)
1.001
余數(shù)為負(fù)1.110001<0
q0=0
余數(shù)左移1.10001
加y*
0.111
余數(shù)為正0.01101
>0
q1=1
余數(shù)左移0.1101
減y*
1.001
余數(shù)為負(fù)1.1111
<0
q2=0
余數(shù)左移1.111
加y*
0.111
余數(shù)為正0.110
>0
q3=1
故得
商
q*=q0.q1q2q3=0.101余數(shù)
r=0.000110
由xf⊕yf=0⊕1=1所以:x÷y=-(0.101+0.110×2-3/0.111)定點(diǎn)除法運(yùn)算[例]x=-0.101001,y=-0.111,求x÷y。
[解:]
xf=1,yf=1,x*=0.101001,y*=0.111,
[y*]補(bǔ)=0.111,[-y*]補(bǔ)=1.001
被除數(shù)x*
0.101001
+[-y*]補(bǔ)(減y*
)
1.001
余數(shù)為負(fù)1.110001<0
q0=0
余數(shù)左移1.10001
加y*
0.111
余數(shù)為正0.01101
>0
q1=1
余數(shù)左移0.1101
減y*
1.001
余數(shù)為負(fù)1.1111
<0
q2=0
余數(shù)左移1.111
加y*
0.111
余數(shù)為正0.110
>0
q3=1
故得
商
q*=q0.q1q2q3=0.101余數(shù)
r=0.000110
由xf⊕yf=1
⊕1=0所以:x÷y=+(0.101+0.110×2-3/0.111)定點(diǎn)除法運(yùn)算[例]x=-0.101111,y=-0.111,求x÷y。
[解:]
xf=1,yf=1,x*=0.101111,y*=0.111,
[y*]補(bǔ)=0.111,[-y*]補(bǔ)=1.001
被除數(shù)x*
0.101111
+[-y*]補(bǔ)(減y*
)
1.001
余數(shù)為負(fù)1.110111<0
q0=0
余數(shù)左移1.10111
加y*
0.111
余數(shù)為正0.10011
>0
q1=1
余數(shù)左移1.0011
減y*
1.001
余數(shù)為正0.0101
>
0
q2=1
余數(shù)左移0.101
減y*
1.001
余數(shù)為負(fù)1.110<
0
q3=0故得
商
q*=q0.q1q2q3=0.110余數(shù)
r=0.000101
由xf⊕yf=1
⊕1=0所以:x÷y=+(0.110+0.101×2-3/0.111)定點(diǎn)除法運(yùn)算加y*恢復(fù)余數(shù)注意:在定點(diǎn)小數(shù)的原碼除法運(yùn)算中,要求:(1)x*>0,y*>0,,數(shù)值均取正的小數(shù);(符號(hào)位單獨(dú)考慮)(2)要求:x*<y*,保證:商q=x*/y*也是小數(shù)。(3)在具體計(jì)算中,減法仍然須采用補(bǔ)碼進(jìn)行計(jì)算。(4)在不恢復(fù)余數(shù)法中,最后一步,當(dāng)余數(shù)為負(fù)時(shí),需加上除數(shù),恢復(fù)成原余數(shù)。原碼不恢復(fù)余數(shù)法示例除法運(yùn)算需要3個(gè)寄存器:A寄存器存放被除數(shù):被除數(shù)AB寄存器存放除數(shù):除數(shù)BC寄存器存放商:商C例6:已知:X=-0.10101,Y=0.11110,求:X÷Y。解:|X|=00.10101→A,0→C|Y|=00.11110→B,-|Y|=11.00010原碼不恢復(fù)余數(shù)法AC說(shuō)明00.101010.00000-|Y|11.00010-|Y|11.101110.00000
余數(shù)為負(fù),商0←11.01110左移一位+|Y|00.11110+|Y|00.011000.00001
余數(shù)為正,商1←00.11000左移一位-|Y|11.00010-|Y|11.110100.00010
余數(shù)為負(fù),商0←11.10100左移一位
+|Y|00.11110+|Y|00.100100.00101
余數(shù)為正,商1←01.00100左移一位-|Y|11.00010-|Y|00.001100.01011
余數(shù)為正,商1←00.01100左移一位-|Y|11.00010-|Y|11.011100.10110
余數(shù)為負(fù),商0+|Y|00.11110恢復(fù)余數(shù),+|Y|00.01100原碼需要原碼不恢復(fù)余數(shù)法示例(續(xù))
Qs=Xs⊕Ys=1⊕0=1
商=0.10110
余數(shù)=0.011002-5∴X÷Y=-(0.10110+)0.011002-50.11110需要注意幾點(diǎn):
1、不恢復(fù)余數(shù)法,被除數(shù)、除數(shù)需要取雙符號(hào)位。2、如果最終余數(shù)為負(fù),必須恢復(fù)一次余數(shù)且不需左移。3、符號(hào)位不參加原碼運(yùn)算,應(yīng)單獨(dú)處理。原碼不恢復(fù)余數(shù)法的硬件實(shí)現(xiàn)A、B寄存器,n+2位
C寄存器,n+1位 加法器,n+2位 與或門,n+2個(gè)A、C寄存器級(jí)連在一起,具有左移一位功能。每次移位時(shí),C的最高位進(jìn)入A的最低位,而C的最低位用來(lái)保存每次運(yùn)算得到的商。A的初值為被除數(shù),最后變?yōu)橛鄶?shù),C的內(nèi)容為除法得到的商。 在運(yùn)算過(guò)程中,由余數(shù)的符號(hào)決定商值和下一步操作,即控制運(yùn)算器加除數(shù)還是減除數(shù)。加減交替法的算法特點(diǎn):
運(yùn)算過(guò)程中,無(wú)論夠減或是不夠減,可以根據(jù)余數(shù)符號(hào)得出判斷,進(jìn)而直接決定下一步的運(yùn)算,不必考慮余數(shù)的恢復(fù)問(wèn)題。因此,這種算法步數(shù)固定,控制簡(jiǎn)單,被廣泛
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ù)模擬試題+參考答案
- 上海中心大廈買賣合同
- 酒店住宿預(yù)訂取消政策協(xié)議
- 鋼筋檢測(cè)考試題及答案
- 浙江國(guó)企招聘2025臺(tái)州溫嶺市糧食收儲(chǔ)有限責(zé)任公司招聘14人筆試參考題庫(kù)附帶答案詳解
- 2025重慶金納動(dòng)力科技有限公司招聘22人筆試參考題庫(kù)附帶答案詳解
- 2025浙江寧波交通工程建設(shè)集團(tuán)有限公司招聘30人筆試參考題庫(kù)附帶答案詳解
- 2025河北唐山政務(wù)服務(wù)外包有限公司為服務(wù)項(xiàng)目招聘66人筆試參考題庫(kù)附帶答案詳解
- 加油站項(xiàng)目投資前景分析報(bào)告
- 透徹理解紡織工藝的試題及答案
- 2024年江蘇武進(jìn)經(jīng)濟(jì)發(fā)展集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 星巴克基本管理制度
- 高速公路收費(fèi)員培訓(xùn)模板案例(個(gè)人經(jīng)驗(yàn)總結(jié)分析)
- 蘇教版五年級(jí)下冊(cè)數(shù)學(xué) 第4單元 第10招 分?jǐn)?shù)單位的拆分 知識(shí)點(diǎn)梳理重點(diǎn)題型練習(xí)課件
- 跨文化交際智慧樹(shù)知到課后章節(jié)答案2023年下齊魯工業(yè)大學(xué)
- (完整版)中國(guó)書(shū)法英文版
- 開(kāi)關(guān)設(shè)備檢修工(技師)技能鑒定備考試題庫(kù)及答案
- 宏觀經(jīng)濟(jì)學(xué)期末考試試題(含答案)
- 機(jī)械制造工藝學(xué) 王先逵課后答案
- 招商計(jì)劃書(shū)內(nèi)容
- 地鐵車站畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論