數(shù)據(jù)的表示和運(yùn)算_第1頁(yè)
數(shù)據(jù)的表示和運(yùn)算_第2頁(yè)
數(shù)據(jù)的表示和運(yùn)算_第3頁(yè)
數(shù)據(jù)的表示和運(yùn)算_第4頁(yè)
數(shù)據(jù)的表示和運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章數(shù)據(jù)的表示和運(yùn)算主要內(nèi)容:數(shù)制與編碼定點(diǎn)數(shù)的表示和運(yùn)算定點(diǎn)數(shù)的表示:無(wú)符號(hào)數(shù)的表示;有符號(hào)數(shù)的表示。定點(diǎn)數(shù)的運(yùn)算:定點(diǎn)數(shù)的移位運(yùn)算;補(bǔ)碼定點(diǎn)數(shù)的加/減運(yùn)算;定點(diǎn)數(shù)的乘/除運(yùn)算;溢出概念和判別方法。浮點(diǎn)數(shù)的表示和運(yùn)算算術(shù)邏輯單元

ALU2.2定點(diǎn)數(shù)的表示和運(yùn)算定點(diǎn)數(shù):在計(jì)算機(jī)中,小數(shù)點(diǎn)位置固定不變的數(shù)。(1)無(wú)符號(hào)數(shù)的表示 機(jī)器字長(zhǎng)的全部位數(shù)均用來(lái)表示數(shù)值的大小,相當(dāng)于數(shù)的絕對(duì)值。對(duì)于字長(zhǎng)為n位的無(wú)符號(hào)數(shù)的表示范圍為:0—2n-1。(2)帶符號(hào)數(shù)的表示在計(jì)算機(jī)中將數(shù)的符號(hào)數(shù)碼化。一般規(guī)定二進(jìn)制的最高位為符號(hào)位,最高位為“0”表示該數(shù)為正,為“1”表示該數(shù)為負(fù)。這種在機(jī)器中使用符號(hào)位也被數(shù)碼化的數(shù)稱為機(jī)器數(shù)。根據(jù)符號(hào)位和數(shù)值位的編碼方法不同,機(jī)器數(shù)分為原碼、補(bǔ)碼和反碼等。定點(diǎn)整數(shù)、定點(diǎn)小數(shù)2.2.1定點(diǎn)數(shù)的表示數(shù)值范圍和數(shù)據(jù)精度數(shù)值范圍數(shù)值范圍是指一種類型的數(shù)據(jù)所能表示的最大值和最小值。數(shù)據(jù)精度通常指實(shí)數(shù)所能給出的有效數(shù)字位數(shù);對(duì)浮點(diǎn)數(shù)來(lái)說(shuō),精度不夠會(huì)造成誤差,誤差大量積累會(huì)出問(wèn)題。定點(diǎn)小數(shù)表示:X=X0X-1X-2…X-(n-1)[X]原=X

1-X

-(1-2-(n-1))≤

X≤0-1

≤X≤0Mod20≤X≤

1-2-(n-1)(純小數(shù))原碼,反碼,補(bǔ)碼的定義n位字長(zhǎng)(1位符號(hào)位,n-1位數(shù)值位)X(2-2-(n-1))+X[X]反=X

2+X[X]補(bǔ)=

-(1-2-(n-1))≤

X≤00≤X≤

1-2-(n-1)0≤X≤

1-2-(n-1)實(shí)例:X1=0.1011-0.10110.0000[X]原

=01011110110000010000

說(shuō)明:原碼是符號(hào)位加數(shù)的絕對(duì)值,符號(hào)0正1負(fù)

原碼零有兩個(gè)編碼,+0和-0的編碼不同

原碼難以用于加減運(yùn)算,但乘除方便(純小數(shù))原碼的定義與說(shuō)明定義:[X]原=X

1-X

-(1-2-(n-1))≤

X≤00≤X≤

1-2-(n-1)實(shí)例:X1=0.1011-0.10110.0000[X]補(bǔ)

=01011

10101

00000說(shuō)明:補(bǔ)碼最高一位是符號(hào)位,符號(hào)0正1負(fù)

補(bǔ)碼表示為:2×符號(hào)位+數(shù)的真值

補(bǔ)碼零只有一個(gè)編碼,故能表示-1

補(bǔ)碼能很好地用于加減(乘除)運(yùn)算(純小數(shù))補(bǔ)碼的定義與說(shuō)明定義:X

2+X[X]補(bǔ)=-1

≤X≤0Mod20≤X≤

1-2-(n-1)補(bǔ)碼的一些補(bǔ)充說(shuō)明由[X]補(bǔ)(X0X1X2…Xn)求真值X[X]補(bǔ)

=2X0+X→X=[X]補(bǔ)

-2X0=X0X1X2…Xn-2X0=-X0+(-X0+X0X1X2…Xn)=-X0+0.X1X2…Xn負(fù)數(shù)的[X]補(bǔ)與[X]反的關(guān)系由[X]反

=(2–2-n)+X,[X]補(bǔ)=2+X可得到:[X]補(bǔ)

=[X]反

+2-n補(bǔ)碼的一些補(bǔ)充說(shuō)明得到一個(gè)數(shù)補(bǔ)碼表示的簡(jiǎn)便辦法當(dāng)X≥0時(shí),[X]補(bǔ)的符號(hào)位取0,數(shù)值位取X的各數(shù)值位上的值,此時(shí)有[X]補(bǔ)=X

當(dāng)X<0時(shí),[X]補(bǔ)的符號(hào)位取1,將X的各數(shù)值位取反,再在最低位加1,以得到[X]補(bǔ)的各數(shù)值位上的值

(見(jiàn)負(fù)數(shù)[X]補(bǔ)與[X]反的關(guān)系)[X]原與[X]補(bǔ)的相互轉(zhuǎn)換簡(jiǎn)便方法從[X]原求[X]補(bǔ)時(shí),對(duì)正數(shù)或零,有[X]補(bǔ)=[X]原,對(duì)負(fù)數(shù)則符號(hào)位不變,各數(shù)值位變反后再在最低位執(zhí)行加1操作由[X]補(bǔ)求[X]原時(shí),對(duì)負(fù)數(shù)仍是符號(hào)位不變,各數(shù)值位變反后再在最低位執(zhí)行加1操作已知[y]補(bǔ)如何簡(jiǎn)單求[-y]補(bǔ)

<Ⅰ>[y]補(bǔ)

=0y1

y2

yn…y=0.y1y2

yn…y=0.y1

y2

yn…[y]補(bǔ)

=1y1

y2

yn+2-n…<Ⅱ>[y]補(bǔ)

=1y1

y2

yn…[y]原

=1y1y2

yn+2-n…

y=(0.y1y2

yn

+2-n)…

y=0.y1y2

yn+2-n……[y]補(bǔ)

=0y1

y2

yn+2-n每位取反,即得[y]補(bǔ)[y]補(bǔ)連同符號(hào)位在內(nèi),末位加1每位取反,即得[y]補(bǔ)[y]補(bǔ)連同符號(hào)位在內(nèi),末位加1整數(shù)的編碼表示整數(shù)的原碼

反碼

補(bǔ)碼表示與小數(shù)的三種表示基本相同差別僅表現(xiàn)在小數(shù)點(diǎn)的位置可以認(rèn)為整數(shù)的小數(shù)點(diǎn)在最低數(shù)值位的右側(cè)因此整數(shù)的模與整數(shù)位數(shù)有關(guān)講課中不大用整數(shù)講原反補(bǔ)

碼定義例如:整數(shù)6位編碼(1位符號(hào)位,5位數(shù)值位)X=+01110[X]原=001110[X]補(bǔ)=001110X=-01110[X]原=101110[X]補(bǔ)=110010X為真值整數(shù)的機(jī)器數(shù)n位字長(zhǎng)(1位符號(hào)位,n-1位數(shù)值位)[X]原=X

2n-1-X

-(2n-1-1)≤

X≤00≤X≤

2n-1-1X(2n-1)+X[X]反=

-(2n-1-1)≤

X≤00≤X≤

2n-1-1X

2n+X[X]補(bǔ)=-2n-1

≤X≤00≤X≤

2n-1-1(mod2n)000000000000000100000010…011111111000000010000001111111011111111011111111…二進(jìn)制代碼無(wú)符號(hào)數(shù)對(duì)應(yīng)的真值原碼對(duì)應(yīng)的真值補(bǔ)碼對(duì)應(yīng)的真值反碼對(duì)應(yīng)的真值128129012127…253254255…-128-127-3-2-1…0+1+2+127…-127-126-2-1-0…+0+1+2+127…-0-1-125-126-127…+0+1+2+127…設(shè)機(jī)器數(shù)字長(zhǎng)為8位(含1位符號(hào)位),表示整數(shù)時(shí),每個(gè)編碼分別代表無(wú)符號(hào)數(shù)、原碼、補(bǔ)碼和反碼的真值各為多少?整數(shù)的移碼表示(用于浮點(diǎn)數(shù)階碼)[X]移

=2n-1+X移碼定義:X為真值,若機(jī)器字長(zhǎng)為n位移碼在數(shù)軸上的表示例如:n=8x=10100[x]移

=27+10100x=–10100[x]移

=27

–10100=10010100=01101100-2n-1

≤X≤

2n-1

-1[X]移2n–12n-12n-1

–1–2n-100真值X[X]移

=2n-1+X=2n+2n-1+X=2n-1+[X]補(bǔ)原、反、補(bǔ)、移碼表示小結(jié)正數(shù)的

原碼、反碼、補(bǔ)碼表示均相同,符號(hào)位為0,數(shù)值位同數(shù)的真值。0的原碼和反碼有2個(gè)編碼,補(bǔ)碼和移碼只1個(gè)碼負(fù)數(shù)的

原碼、反碼、補(bǔ)碼表示均不同,符號(hào)位為1,數(shù)值位:原碼為數(shù)的絕對(duì)值反碼為每一位均取反補(bǔ)碼為反碼再在最低位+1由[X]補(bǔ)求[-X]補(bǔ):無(wú)論正、負(fù),每一位取反后再在最低位+1同一個(gè)整數(shù)的移碼與補(bǔ)碼僅符號(hào)位相反。2.2.2定點(diǎn)數(shù)的運(yùn)算(1)定點(diǎn)數(shù)的移位運(yùn)算移位是一種常用的操作,例如,在乘法中需要右移,在除法中需要左移,在代碼處理中也經(jīng)常需要移位操作。移位可分為算術(shù)移位和邏輯移位,有左移和右移之分。可以對(duì)寄存器或存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行移位。一次可以只移一位,也可以按指令中規(guī)定的次數(shù)移若干位。①算術(shù)移位:移位的對(duì)象是數(shù)值型數(shù)據(jù),在移位后會(huì)發(fā)生數(shù)值大小的變化。對(duì)于二進(jìn)制數(shù),左移,絕對(duì)值擴(kuò)大;右移,絕對(duì)值縮小。算術(shù)移位規(guī)則:符號(hào)位不變②邏輯移位:包括邏輯左移、邏輯右移、循環(huán)左移和循環(huán)右移等。邏輯移位使代碼序列進(jìn)行循環(huán)移位或非循環(huán)移位,參與移位的對(duì)象被視為純邏輯意義上的代碼組合,邏輯移位只是使數(shù)碼位置發(fā)生變化,沒(méi)有正、負(fù)性質(zhì),也沒(méi)有數(shù)值大小問(wèn)題。③算術(shù)移位和邏輯移位的區(qū)別:算術(shù)移位:帶符號(hào)數(shù)移位邏輯移位:無(wú)符號(hào)數(shù)移位(2)補(bǔ)碼定點(diǎn)數(shù)的加/減運(yùn)算

n位字長(zhǎng)①

加法

整數(shù)[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)

(mod2n)小數(shù)[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)

(mod2)②

減法整數(shù)[X-Y]補(bǔ)=

[X+(-Y)]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)

(mod2n)小數(shù)[X-Y]補(bǔ)=

[X+(-Y)]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)

(mod2)無(wú)需符號(hào)判定,數(shù)值位連同符號(hào)位一起相加,符號(hào)位產(chǎn)生的進(jìn)位自然丟掉。關(guān)鍵是由[Y]補(bǔ)求[-Y]補(bǔ),

[-Y]補(bǔ)=對(duì)[Y]補(bǔ)

逐位取反再在最低位加1。實(shí)現(xiàn)補(bǔ)碼加減運(yùn)算的邏輯電路X←X+YX←X-YF←

XF←YX←F加F←XFs加法器(ALU)目的寄存器源寄存器選通門二選通門選通門F←1XYF←YX←F0101F←YFsOVRZC累加器YF←XF←YF←1X←

F減00000111實(shí)現(xiàn)補(bǔ)碼加運(yùn)算的執(zhí)行過(guò)程X←X+Y完成加運(yùn)算,需要把被加數(shù)和加數(shù)送ALU的輸入端,運(yùn)算結(jié)果要接收到累加器,需要給出命令:F←XF←YX←FF←XF←YX←FFs

加法器

0101011010110001選通門二選一選通門XYFsOVRZC被加數(shù)/和Y加數(shù)CP101100010101011000000111CP命令建立數(shù)據(jù)傳送加運(yùn)算存結(jié)果命令建立00000111數(shù)據(jù)傳送命令建立實(shí)現(xiàn)補(bǔ)碼減運(yùn)算的邏輯電路F←XF←YX←FFs

加法器

0101011011110001選通門二選一選通門XYFsOVRZC被減數(shù)/差Y減數(shù)CPCP命令建立數(shù)據(jù)傳送加運(yùn)算存結(jié)果命令建立數(shù)據(jù)傳送命令建立F←1100001110

01100101

01010110

01100101

X←X–Y完成減運(yùn)算,需要把被減數(shù)和減數(shù)送ALU的輸入端,運(yùn)算結(jié)果要接收到累加器,需要給出命令:F←XF←Y,F(xiàn)←1X←F(3)溢出概念和判別方法當(dāng)運(yùn)算結(jié)果超出機(jī)器數(shù)所能表示的范圍時(shí),稱為溢出。一旦溢出,運(yùn)算結(jié)果就不正確了,因此必須將溢出的情況檢查出來(lái)。主要判別方法:①單符號(hào)位:當(dāng)任意符號(hào)兩數(shù)相加時(shí),設(shè)Cf為最高數(shù)值位的進(jìn)位,Cs為符號(hào)位的進(jìn)位,若Cf=Cs,運(yùn)算結(jié)果正確;若Cf≠Cs

,則產(chǎn)生溢出。

溢出條件:OV=Cs⊕Cf

。②雙符號(hào):變形補(bǔ)碼,第一符號(hào)位Sf1,第二符號(hào)位Sf2,正數(shù)的雙符號(hào)位為00,負(fù)數(shù)的雙符號(hào)位為11。符號(hào)位參與運(yùn)算,當(dāng)結(jié)果的兩個(gè)符號(hào)位不相同時(shí)為溢出。溢出條件OV=Sf1⊕Sf2

。補(bǔ)碼加減法溢出判斷方法一:?jiǎn)畏?hào)位:數(shù)值位有向符號(hào)位的進(jìn)位,但符號(hào)位不產(chǎn)生向更高位的進(jìn)位,數(shù)值位沒(méi)有向符號(hào)位的進(jìn)位,但符號(hào)位產(chǎn)生向更高位的進(jìn)位方法二:雙符號(hào)位:運(yùn)算結(jié)果為01

(正溢)或10(負(fù)溢),最高符號(hào)位Sf1

代表其真正的符號(hào)判斷溢出的邏輯電路如何實(shí)現(xiàn)呢?補(bǔ)碼加減法運(yùn)算實(shí)例X=0.1011y=-0.0101[X]補(bǔ)

=001011,[Y]補(bǔ)

=111011模

4補(bǔ)碼

[-Y]補(bǔ)

=000101

001011001011+111011+0001011000110010000X+Y(不溢出)X-Y(溢出)正數(shù)加負(fù)數(shù)不會(huì)溢出符號(hào)位和數(shù)值位都產(chǎn)生進(jìn)位雙符號(hào)位結(jié)果相同不是溢出正數(shù)加正數(shù)結(jié)果為負(fù)是溢出數(shù)值位有進(jìn)位符號(hào)位無(wú)進(jìn)位是溢出雙符號(hào)位結(jié)果不相同是溢出判斷溢出的2套方案是一個(gè)事實(shí)的2種不同的表述單符號(hào)位判斷數(shù)值位向符號(hào)位有進(jìn)位但符號(hào)位無(wú)進(jìn)位輸出或數(shù)值位向符號(hào)位沒(méi)有進(jìn)位但符號(hào)位本身有進(jìn)位輸出是溢出雙符號(hào)位判斷運(yùn)算結(jié)果的2個(gè)符號(hào)位的值不相同表明有溢出(4)定點(diǎn)數(shù)的乘法運(yùn)算原碼一位乘法:兩個(gè)原碼數(shù)相乘,其乘積的符號(hào)為相乘兩數(shù)的異或值,數(shù)值為兩數(shù)絕對(duì)值之積。補(bǔ)碼一位乘法:乘法直接用補(bǔ)碼進(jìn)行,以減少轉(zhuǎn)換次數(shù)。[X]原=X0.X1X2…Xn,X0為符號(hào)[Y]原=Y0.Y1Y2…Yn,Y0為符號(hào)①原碼一位乘運(yùn)算方案符號(hào)位異或,絕對(duì)值相乘原碼一位乘運(yùn)算方案0.1101*0.1011110111010000+11010.10001111

解決方案:

1.每次求出部分積,不是一次總累加

2.變每次左移被乘數(shù)為右移部分積,移出的部分保存起來(lái)(保存到哪?)3.乘數(shù)放到一個(gè)移位寄存器中,判乘數(shù)每一位的值用最低的一位線路該方案用于計(jì)算機(jī)會(huì)有問(wèn)題:

1.加法器只有兩個(gè)數(shù)據(jù)輸入端

2.加法器與乘運(yùn)算數(shù)據(jù)位數(shù)相同

3.如何判斷乘數(shù)每一位是0或者1例:X=0.1101,Y=0.1011,求X·Y=?最終乘積原碼表示:

010001111手工運(yùn)算過(guò)程:實(shí)現(xiàn)原碼一位乘法的邏輯線路圖加法器部分積被乘數(shù)乘數(shù)

F最低位加運(yùn)算移位線路每位1套第i位第i位第i+1位第i-1位F/2→XF→XF*2→X移位電路最高位三選一電路被乘數(shù)作為加數(shù),用乘數(shù)最低位的值控制累加,結(jié)果右移一位存部分積寄存器,并且乘數(shù)同時(shí)右移一位。部分積的最低位移入到乘數(shù)的最高位計(jì)數(shù)器Cd原碼一位乘運(yùn)算過(guò)程舉例X=0.1101Y=0.1011【例】設(shè)X=0.1101,Y=0.1011,求X·Y。其中寄存器B=X,計(jì)數(shù)器Cd=4。計(jì)算過(guò)程:00000010110011010011010001101101001101010011001001111000000000100100010011110011010100010010001111+x右移一位→+x右移一位→+0右移一位→+x右移一位→部分積A乘數(shù)C乘積高位乘積低位1(丟失)1(丟失)0(丟失)1(丟失)X?Y=0.10001111

原碼一位乘運(yùn)算規(guī)則①操作數(shù)、結(jié)果用原碼表示②絕對(duì)值運(yùn)算,符號(hào)單獨(dú)處理③

被乘數(shù)(B)、部分積(A)取雙符號(hào)位④

乘數(shù)末位(Cn)為判斷位,其狀態(tài)決定下步操作⑤作n次循環(huán)(累加、右移)特點(diǎn)絕對(duì)值運(yùn)算邏輯移位用移位的次數(shù)判斷乘法是否結(jié)束原碼一位分步乘法每次將一位乘數(shù)所對(duì)應(yīng)的部分積與原部分積的累加和相加,并移位。硬件:設(shè)置3個(gè)寄存器(具有右移位功能):

A:存放部分積累加和、乘積高位

B:存放被乘數(shù)

C:存放乘數(shù)、乘積低位

設(shè)置初值:

A=00.0000B=X=00.1101C=Y=.1011

一個(gè)全加器

算法流程0A、XB、YC、nCdCn=1?Cd=0?1/2(A+B)A,C1/2(A+0)A,C

Cd-1CdYYNNB0⊕C0

A0②定點(diǎn)補(bǔ)碼一位乘法原碼乘法存在的缺點(diǎn)是符號(hào)位需要單獨(dú)運(yùn)算,并要在最后給乘積冠以正確的符號(hào)。補(bǔ)碼乘法是指采用操作數(shù)的補(bǔ)碼進(jìn)行乘法運(yùn)算,最后乘積仍為補(bǔ)碼,能自然得到乘積的正確符號(hào)。算法分析:

由已推導(dǎo)過(guò)的Y=-Y0+0.Y1Y2…Yn,得

[X·Y]補(bǔ)

=[X]補(bǔ)(0.Y1Y2…Yn)+[-X]補(bǔ)Y0符號(hào)位[X]補(bǔ)

=X0.X1X2…Xn[Y]補(bǔ)

=Y0.Y1Y2…Yn

展開(kāi)為部分積的累加和形式:[X·Y]補(bǔ)=[X]補(bǔ)(0.Y1Y2…Yn)+[-X]補(bǔ)Y0

=[X]補(bǔ)(0.Y1Y2…Yn)-[X]補(bǔ)Y0

=[X]補(bǔ)(-Y0+2-1Y1+2-2Y2+…+2-nYn)=[X]補(bǔ)

=[X]補(bǔ)比較法—布斯(Booth)算法:用相鄰兩位乘數(shù)比較的結(jié)果決定加[X]補(bǔ)、[-X]補(bǔ)或0。

(-Y0+(Y1-2-1Y1)+(2-1Y2-2-2Y2)+…

+(2-(n-1)Yn-2-nYn))[(Y1-Y0)+2-1

(Y2-Y1)+2-2(Y3-Y2)+…

+2(0-Yn)-n

+2(0-Yn)-nYn+1

+2(0

-Yn)-nYn+1Yn(高位)Yn+1(低位)操作(A補(bǔ)為部分積累加和)00011011

1/2A補(bǔ)

1/2(A補(bǔ)+[X]補(bǔ))1/2(A補(bǔ)+[-X]補(bǔ))1/2A補(bǔ)(0)(1)(-1)(0)布斯算法:在乘數(shù)Yn后添加Yn+1=0。按照Yn+1,Yn相鄰兩位的三種情況,其運(yùn)算規(guī)則如下:右移一位Booth算法運(yùn)算規(guī)則①部分積A、被乘數(shù)B取雙符號(hào)位,符號(hào)位參加運(yùn)算;②乘數(shù)C取單符號(hào)位,符號(hào)參加移位,以決定最后是否修正;③C末位設(shè)置附加位Cn+1,初值為0,CnCn+1組成判斷位,決定運(yùn)算操作,作n步循環(huán);④

第n+1步(可能不用)由(Y1-Y0)決定,僅修正,不移位?!纠縓=-0.1101,Y=0.1011,求[X·Y]補(bǔ)。初值:A=00.0000,B=[X]補(bǔ)=11.0011,-B=[-X]補(bǔ)=00.1101,C=[Y]補(bǔ)=0.1011計(jì)算過(guò)程:0000000.10110初始值,最后一位補(bǔ)0001101Y4Y5=10+[-X]補(bǔ)001101000110101011右移一位000000Y3Y4=11+0000110000011010101右移一位110011Y2Y3=01+[X]補(bǔ)110110111011001010右移一位001101Y1Y2=10+[-X]補(bǔ)001000000100000101

右移一位110011Y0Y1=01+[X]補(bǔ)1101110001+→+→+→+→+部分積乘數(shù)YYiYi+1

說(shuō)明乘積高位乘積低位[X·Y]補(bǔ)=1.01110001,X·Y=-0.10001111不移位(5)定點(diǎn)除法運(yùn)算定點(diǎn)原碼一位除法恢復(fù)余數(shù)法:被除數(shù)(余數(shù))減去除數(shù),如果為0或者為正值時(shí),上商為1,不恢復(fù)余數(shù);如果結(jié)果為負(fù),上商為0,再將除數(shù)加到余數(shù)中,恢復(fù)余數(shù)。余數(shù)左移1位。加減交替法:當(dāng)余數(shù)為正時(shí),商上1,求下一位商的辦法,余數(shù)左移一位,再減去除數(shù);當(dāng)余數(shù)為負(fù)時(shí),商上0,求下一位商的辦法,余數(shù)左移一位,再加上除數(shù)。定點(diǎn)除法運(yùn)算定點(diǎn)補(bǔ)碼一位除法(加減交替法)如果被除數(shù)與除數(shù)同號(hào),用被除數(shù)減去除數(shù);若兩數(shù)異號(hào),被除數(shù)加上除數(shù)。如果所得余數(shù)與除數(shù)同號(hào)商上1,否則,商上0,該商為結(jié)果的符號(hào)位。求商的數(shù)值部分。如果上次商上1,將除數(shù)左移一位后減去除數(shù);如果上次商上0,將余數(shù)左移一位后加除數(shù)。然后判斷本次操作后的余數(shù),如果余數(shù)與除數(shù)同號(hào)商上1,如果余數(shù)與除數(shù)異號(hào)商上0。如此重復(fù)執(zhí)行n-1次(設(shè)數(shù)值部分n位)。商的最后一位一般采用恒置1的辦法,并省略了最低+1的操作。此時(shí)最大的誤差為2-n?!纠吭O(shè)被除數(shù)X=0.1011,Y=0.1101,用原碼加減交替法求X/Y=?解:設(shè)置寄存器:A寄存器中開(kāi)始時(shí)存放被除數(shù)的絕對(duì)值,以后將存放各次余數(shù),取雙符號(hào)位。B寄存器存放除數(shù)的絕對(duì)值,取雙符號(hào)位。C寄存器同來(lái)存放商,取單符號(hào)位。[|Y|]補(bǔ)=00.1101,[-|Y|]補(bǔ)=11.0011加減交替法處理思想:先減后判,如減后發(fā)現(xiàn)不夠減,則在下一步改作加除數(shù)操作。要點(diǎn):被除數(shù)|X|<除數(shù)|Y|,取原碼尾數(shù)的絕對(duì)值相除,符號(hào)位單獨(dú)處理,商的符號(hào)為相除兩數(shù)符號(hào)的異或。被除數(shù)的位數(shù)要擴(kuò)展成除數(shù)位數(shù)n的兩倍(2n位),其低位的數(shù)值部分開(kāi)始時(shí)放在商寄存器中。在具體運(yù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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論