ch4-3 數(shù)值的機器運算-定點除法_第1頁
ch4-3 數(shù)值的機器運算-定點除法_第2頁
ch4-3 數(shù)值的機器運算-定點除法_第3頁
ch4-3 數(shù)值的機器運算-定點除法_第4頁
ch4-3 數(shù)值的機器運算-定點除法_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第4章數(shù)值的機器運算

1被除數(shù)x,其原碼為[x]原=xf.xn-1…x1x0除數(shù)y,其原碼為[y]原=y(tǒng)f.yn-1…y1y0

則有商q=x/y,其原碼為[q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0)?商的符號運算qf=xf⊕yf

與原碼乘法一樣;?商的數(shù)值部分的運算,實質(zhì)上是兩個正數(shù)求商的運算。與乘法一樣要解決運算器位數(shù)和余數(shù)寄存器位數(shù)兩個問題。設(shè)有n位定點小數(shù):4.5.1原碼一位除法24.5.1原碼一位除法

X=0.1011,Y=0.1101

0.1101…商0.11010.10110x被除數(shù)

1101

x>y除數(shù)右移一位,減除數(shù)

10010r11101x>y除數(shù)右移一位,減除數(shù)

10100r21101x>y除數(shù)右移兩位,減除數(shù)

111r4余數(shù)

X÷Y=商+=0.1101+0.0111×2-4/0.11010.00.0

0.000.0000.00000.00000余數(shù)除數(shù)1.手算運算步驟34.5.1原碼一位除法1、比較法4結(jié)果與手算相同,但余數(shù)不是真正的余數(shù),多乘了2n,故正確的余數(shù)應(yīng)為2-n×rn,即:0.000000010.0001第四次余數(shù)r4

1.0010被除數(shù)左移一位,2x>y,商1+1.0101減y,即+[-y]補0.0111第一次余數(shù)r1

0.1110r1左移一位,2r1>y,商1+1.0101減y0.0011第二次余數(shù)r2

0.0110r2左移一位,2r2<y,商0

0.1100r3左移一位,2r3=4r2>y,商1+1.0101減y0.10110.1001x<y,商00.1101例:x=0.1001,y=0.1011,求x/y=?[-y]補=1.0101562.恢復(fù)余數(shù)法72.原碼除法—恢復(fù)余數(shù)法取絕對值相除,兩個符號位。被除數(shù)減除數(shù),夠減時,商1;不夠減時商0。減法用加法代替,加[-y]補(結(jié)果仍是原碼)。不夠減時需要恢復(fù)余數(shù)(加除數(shù))。余數(shù)要乘2-n(右移n位)【例1】x=0.1001,y=0.1011,用恢復(fù)余數(shù)法求x/y.

解:[x]原=[x]補=x=0.1001,[y]補=0.1011,[-y]補=1.01018

00.1001+[-y]補

11.0101x減y11.1110余數(shù)r0<0,商“0”+[y]補

00.1011恢復(fù)余數(shù)

00.1001r0’

01.00100

商0移入q,r0’左移

+[-y]補

11.0101減y00.0111r1>0,商“1”

00.11100.1商1移入q,r1左移

+[-y]補

11.0101減y00.0011r2>0,商“1”

00.01100.11商1移入q,r2左移

+[-y]補11.0101減y11.1011r3<0,商“0”

+[y]補00.1011恢復(fù)余數(shù)

00.0110r3’=2r2

00.11000.110商0移入q,r3’左移

+[-y]補

11.0101減y00.0001r4>0,商“1”

00.00010.1101商1移入q,r4不左移

被除數(shù)x/余數(shù)r商q說明[x]原=0.1001[y]補=0.1011[-y]補=1.0101011019故:[q]原=0.1101余數(shù)[r4]原=0.00000001恢復(fù)余數(shù)法由于要恢復(fù)余數(shù),使得除法的步數(shù)不固定,控制比較復(fù)雜。且在恢復(fù)余數(shù)時,要多作一次加法,降低了執(zhí)行速度。103.加減交替法

特點:當運算過程中出現(xiàn)不夠減的情況,不必恢復(fù)余數(shù),而是根據(jù)余數(shù)的符號,繼續(xù)往下運算,因此步數(shù)固定,控制簡單。運算規(guī)則:采用絕對值、用雙符號位進行計算。

當余數(shù)為正時,商1,余數(shù)左移一位,減除數(shù);當余數(shù)為負時,商0,余數(shù)左移一位,加除數(shù)。若最后一步的余數(shù)為負,要得到正確的余數(shù),還要恢復(fù)余數(shù)【例2】x=0.1001,y=0.1011,用加減交替法求x/y.

解:[x]原=[x]補=x=0.1001,[y]補=0.1011,[-y]補=1.010111=?12

00.1001+[-y]補

11.0101x減y11.1110余數(shù)r0<0,

11.11000商0,r和q左移一位

+[y]補

00.1011加y00.0111余數(shù)r1>000.11100.1商1,r和q左移一位+[-y]補

11.0101減y00.0011余數(shù)r2>0

00.0110

0.11商1,r和q左移一位

+[-y]補

11.0101減y11.1011余數(shù)r3<0

11.0110

0.110商0,r和q左移一位

+[y]補

00.1011加y00.0001余數(shù)r4>0

0.1101商1,僅q左移一位被除數(shù)x/余數(shù)r商q說明得:q=x/y=0.1101余數(shù)r=2-4r4=0.00000001[x]原=0.1001,[y]補=0.1011,[-y]補=1.0101134.5.1

原碼除法運算原碼除法器的實現(xiàn):1、軟件實現(xiàn)

除法運算需要3個寄存器:

A寄存器:存放被除數(shù)X,最后A寄存器中剩下的是擴大了若干倍的余數(shù)。運算過程中A寄存器的內(nèi)容將不斷地發(fā)生變化。

B寄存器:存放除數(shù)Y。

C寄存器:存放商Q,它的初值為0。2、硬件實現(xiàn)144.5定點除法運算4.5.2補碼除法運算

被除數(shù)和除數(shù)都用補碼表示,符號位參加運算。1.夠減的判斷參加運算的兩個數(shù)符號任意,夠減的情況如下:⑴同號X>0,Y>0,X-Y>0X<0,Y<0,-X-(-Y)>0X-Y<0⑵異號X>0,Y<0,X-(-Y)=(X+Y)>0X<0,Y>0,(-X)-Y>0X+Y<0>><<><><部分余數(shù)與除數(shù)同號部分余數(shù)與除數(shù)同號部分余數(shù)與除數(shù)異號部分余數(shù)與除數(shù)異號154.5定點除法運算2.上商規(guī)則如果[X]補和[Y]補同號,則商為正數(shù),上商規(guī)則與原碼除法相同,即夠減時上商“1”,不夠減時上商“0”;如果[X]補和[Y]補異號,則商為負數(shù),上商規(guī)則與同號時相反,即夠減時上商“0”,不夠減時上商“1”。

將上商規(guī)則與夠減的判斷結(jié)合起來,可得到本次余數(shù)[ri]補和除數(shù)[Y]補同號,商上“1”,反之,商上“0”。

164.5定點除法運算3.商符的確定

商符是在求商的過程中自動形成的,按補碼上商規(guī)則,第一次得出的商,就是實際應(yīng)得的商符。4.求新部分余數(shù)求新余數(shù)[ri+1]補的通式如下:

[ri+1]補=2[ri]補+(1-2Qi)×[Y]補

Qi表示第i步的商。若商上“1”,下一次操作為余數(shù)左移一位,減去除數(shù);若商上“0”,下一次操作為余數(shù)左移一位,加上除數(shù)。5.末位恒置1174.5定點除法運算補碼加減交替除法規(guī)則:[X]補與[Y]補第一次操作[ri]補與[Y]補上商求新余數(shù)[ri+1]補的操作同號[X]補-[Y]補①同號(夠減)1[ri+1]補=2[ri]補-[Y]補②異號(不夠減)0[ri+1]補=2[ri]補+[Y]補異號[X]補+[Y]補①同號(不夠減)1[ri+1]補=2[ri]補-[Y]補②異號(夠減)0[ri+1]補=2[ri]補+[Y]補18若被除數(shù)與除數(shù)同號,被除數(shù)減去除數(shù);若被除數(shù)與除數(shù)異號,被除數(shù)加上除數(shù)。(2)余數(shù)和除數(shù)同號,商1,余數(shù)左移一位,下次減除數(shù);余數(shù)和除數(shù)異號,商0,余數(shù)左移一位,下次加除數(shù)。(3)重復(fù)步驟(2),連同符號位在內(nèi),共做n+1步。1.補碼加減交替算法

補碼除法的被除數(shù)、除數(shù)用補碼表示,符號位和數(shù)位一起參與運算,商的符號位與數(shù)位由統(tǒng)一的算法求得。補碼一位除法19

11.0111

[x]補,[y]補異號+[y]補

00.1101加除數(shù)

00.0100余數(shù)和除數(shù)同號

00.10001左移一位,商1

+[-y]補

11.0011減除數(shù)

11.1011余數(shù)和除數(shù)異號11.011010左移一位,

商0

+[y]補

00.1101加除數(shù)

00.0011余數(shù)和除數(shù)同號

00.0110

101左移一位,商1

+[-y]補

11.0011減除數(shù)

11.1001

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論