版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
計算機組成原理與系統(tǒng)結(jié)構(gòu)
QY第4章運算方法與運算器
?定點數(shù)的加減運算及實現(xiàn)
會定點數(shù)的乘法運算及實現(xiàn)
傘定點數(shù)除法運算及實現(xiàn)」
■定點運算器的組成與結(jié)構(gòu)
?浮點運算及運算器
■浮點運算器舉例
BACK
4.1定點數(shù)的加減運算及實現(xiàn)
補碼加減運算與運算器
機器數(shù)的移位運算
移碼加減運算與判溢
U!十進制加法運算
QY一、?補碼加減運算與運算器
0補碼加減運算方法
6補碼加減運算的溢出判斷
補碼加減運算器的實現(xiàn)
、補碼加減運算方法
?:?補碼的加減運算的公式是:
[X+Y]補=[X]補+[丫]補
[X-Y]補=[X]補+[-丫1補
*華寺點:
■雇用補碼進行加減運算,符號位和數(shù)值位一樣參
加運算。
■補碼的減法可以用加法來實現(xiàn),任意兩數(shù)之差的
補碼等于被減數(shù)的補碼與減數(shù)相反數(shù)的補碼之和。
5
6求補運算:[Y]補一[一丫]補
?:?求補規(guī)則:將[Y]補包括符號位在內(nèi)每一位取反,末
位加1。
?:?若[Y]補=YO,Y1……Yn,則:
TO補=丫0丫1……Yn+1
?若[Y]補=YO.Y1...Yn,貝I]:
[-Y]補=Y。Yi……Yn+0.0……01
中例:[X]補=0.1101,則:[-X]#=10011
金[Y]補=1.1101,貝心[一丫]補=0.0011
6
?:?例:已知X=+10W,Y=-0100,用補碼計算X+Y和X-Y。
■寫出補碼:
[X]補=0,1011[Y]^=1,1100
[-丫]補=0,0100
■計舁:
0,1011091011
+1,1100+0,0100
0,0111091111
[X+Y[b=0,0111[X—Y]補=0,1111
?
2、補碼加減運算的溢出判斷
?:?當(dāng)運算結(jié)果超出機器數(shù)的表示范圍時,稱為溢出。計
算機必須具備檢測運算結(jié)果是否發(fā)生溢出的能力,否
則會得到錯誤的結(jié)果。
?:?對于加減運算,可能發(fā)生溢出的情況:同號(兩數(shù))
相加,或者異號(兩數(shù))相減。
?:?確定發(fā)生溢出的情況:
■正數(shù)相加,且結(jié)果符號位為1;
-負(fù)數(shù)相加,且結(jié)果符號位為0;
■正數(shù)一負(fù)數(shù),且結(jié)果符號位為1;
■負(fù)數(shù)一正數(shù),且結(jié)果符號位為0;
8
常用的判溢方法(補碼加減運算)
?:?(1)單符號位判溢方法2
■當(dāng)最高有效位產(chǎn)生的進位和符號位產(chǎn)生的進位不
同時,加減運算發(fā)生了溢出。
■V=C1十4
(2)雙符號位判溢方法
■X和Y采用雙符號位補碼參加運算,正數(shù)的雙符號
位為00,負(fù)數(shù)的雙符號位為11;當(dāng)運算結(jié)果的兩
位符號Sf2不同時(01或10),發(fā)生溢出。
■V=Sf1?Sf2=Xf十丫千十Cf十Sf
■Sf1Sf2=01,則正溢出;Sf1Sf2=10,則負(fù)溢出。
9
雙符號位判溢方法舉例
?:?例:用補碼計算X+Y和X-Y
■(1)X=+1000,Y=+1001
■(2)X=-1000,Y=1001
兇補00,1000兇補00,1000
+[Y]補00,1001+[?Y]補11,0111
[X+Y]補01,0001[X-YJ411,1111
=
SfiSf2015JE■溢出Sf1Sf2=11?無溢出
兇補11,1000pq補11,iooo
?[Y]補00,1001+[?Y]補11,0111
[X+Y]補00,0001[X-Y]#10,1111
負(fù)溢出
Sf1Sf2=00,無溢出Sf1Sf2=10,
10
3、補碼加減運算器
3、補碼加減運算器的實現(xiàn)
?:?核心部件:一個普通的二進制并行加法器。
?A:累加器,存放[X]補;B:寄存器,存放[Y]補;
?:?取反電路:
*3,SUB=。時,補碼加法器,將B寄存器直接送入并
行加法器;_
*■/SUB=1時,補碼減法器,4匏送入并行加法器,
同時,并行加法器的最低位產(chǎn)生進位,即B取反加1,
此時并行加法器的運算相當(dāng)于[A]補力口[-B]補,完成減
法運算。
12
、機器數(shù)的移位運算
?:?二進制數(shù)據(jù)(真值)每相對于小數(shù)點左移一位,相當(dāng)
于乘以2;每相對于小數(shù)點右移一位,相當(dāng)于除以2。
?:?計算機中的移位運算分為:
?1、邏輯移位:將移位的數(shù)據(jù)視為無符號數(shù)據(jù),各
數(shù)據(jù)位在位置上發(fā)生了變化,導(dǎo)致無符號數(shù)據(jù)的數(shù)
值(無正負(fù))放大或縮小。
■2、算術(shù)移位:將移位的數(shù)據(jù)視為帶符號數(shù)據(jù)(機
器數(shù))。算術(shù)移位的結(jié)果,在數(shù)值的絕對值上進行
放大或縮小,同時,符號位必須要保持不變。
■3、循環(huán)移位:所有的數(shù)據(jù)位在自身范圍內(nèi)進行左
移或者右移,左移時最高位移入最低位,右移時最
低位移入最高位。
13
QY補碼的算術(shù)移位
?:?算術(shù)左移:符號位不變,高位移出,低位補0。
■為保證補碼算術(shù)左移時不發(fā)生溢出,移位的數(shù)據(jù)
最高有效位必須與符號位相同。
■在不發(fā)生溢出的前提下,用硬件實現(xiàn)補碼的算術(shù)
左移時,直接將數(shù)據(jù)最高有效位移入符號位,不
會改變機器數(shù)的符號。
?:?算術(shù)右移:符號位不變,低位移出,高位正數(shù)補0,
負(fù)數(shù)補1,即高位補符號位。
符號位
fXf-----?X1X2--------?Xn----?
符號位
QY補碼的算術(shù)移位舉例
?:?例:設(shè)X=0.1001,丫=—0.0101,求
■伏]補=0.1001
■[2x1補=1.0010(溢出)
■[X/21補=0.0100
■[丫]補=1.1011
[2丫1補=1.0110
■[Y/2]補=LUOI
?
QY三、移碼加減運算與判溢
篇碼和盜碼葉管
n
[X]移+[¥]移=2葉X+2+Y=2葉(2n+X+Y)=2n+[X+Y]移
n
[X]移+[-Y]移=2+[X—Y]移[X-Y]移=[X]移+[一Y]抖(mod2前)
?:?移碼和補碼混合計算
nn+1
[X]移+[Y]科=2葉X+”+i+Y="*+(2+X+Y)=2n+】+[X+Y]移=[X+Y]移(mod2)
n+1
[X-Y]移=[耳夠+[—Y]科(mod2)
?:?移碼運算結(jié)果判溢:
0XfXix2.......xn
+YfYfYi丫2……Yn
SfiSf2Sis2……sn
16
移碼加減運算與判溢
移碼運算結(jié)果溢出的判斷條件是:
■當(dāng)結(jié)果的最高符號位Sf1二1時溢出,Sf1=0時結(jié)果
正確。
?Sf1Sf2=10時,結(jié)果正溢出;
?Sf1Sf2=W時,結(jié)果負(fù)溢出。
■由于移碼運算用于浮點數(shù)的階碼,當(dāng)運算結(jié)果正
溢出時,浮點數(shù)上溢;當(dāng)運算結(jié)果負(fù)溢出時,浮
點數(shù)下溢,當(dāng)作機器零處理。
17
四、十進制加法運算
?:?計算機中的十進制加法器通常采用BCD碼設(shè)計,在二
進制加法器的基礎(chǔ)上,加上適當(dāng)?shù)男U娐?,可以?/p>
現(xiàn)BCD碼的加法器。
?:?對于8421BCD碼來說,當(dāng)相加的兩數(shù)之和S>9時,力口6
校正;當(dāng)SW9時,且無進位時,結(jié)果正確,不需校正。
18
4.2定點數(shù)的乘法運算及實現(xiàn)
原碼乘法及實現(xiàn)
補碼乘法及實現(xiàn)
陣列乘法器
一、原碼乘法及實現(xiàn)
?:?由于計算機的軟硬件在邏輯上具有一定的等價性,因
此實現(xiàn)乘除法運算,可以有三種方式:
?I.用軟件實現(xiàn)。
■硬件上:設(shè)計簡單,沒有乘法器和除法器。
■指令系統(tǒng):沒有乘除指令,但有加/減法和移位指
令
■實現(xiàn):乘除運算通過編制一段子程序來實現(xiàn)
■算法:程序中運用串行乘除運算算法,循環(huán)累加、
右移指令一乘法,循環(huán)減、左移指令一除法。
■運算速度:較慢。
■適用場合:單片機。
20
一、原碼乘法及實現(xiàn)
on.用硬件乘法器和除法器實現(xiàn)。
■硬件上:設(shè)置有并行加法器、移位器和若干循環(huán)、
計數(shù)控制邏輯電路搭成的串行乘除法器。
■指令系統(tǒng):具有乘除法指令。
■實現(xiàn):乘除運算通過微程序一級(硬件+微程序)
來實現(xiàn)。
■算法:在微程序中依據(jù)串行乘除運算算法,循環(huán)累
力口、右移指令一乘法,循環(huán)減、左移指令一除法。
■運算速度:有所提高,但硬件設(shè)計也相對復(fù)雜。
■適用場合:低性能CPU。
21
一、原碼乘法及實現(xiàn)
?III.用高速的陣列乘法器和陣列除法器來實現(xiàn)。
■硬件上:設(shè)置有專用的、并行運算的陣列乘法器和
陣列除法器。
■指令系統(tǒng):具有乘除法指令。
■實現(xiàn):完全通過硬件來實現(xiàn)。
■算法:并行乘/除法。
■運算速度:很快,但硬件設(shè)計相當(dāng)復(fù)雜。
■適用場合:高性能CPU。
22
原碼乘法及實現(xiàn)
*1、手工乘法算法
■手工計算1011X1101,步驟:1011
■手工算法:對應(yīng)每1位乘數(shù)求得1項位
積,并將位積逐位左移,然后將所有X1101
的位積一次相加,得到最后的乘積。~~WH
■乘法的機器算法:從乘數(shù)的最低位開
始,每次根據(jù)乘數(shù)位得到其位積,乘0000
數(shù)位為0,位積為0,乘數(shù)位為1,則
位積為被乘數(shù);用原部分積右移1位1011
加上本次位積,得新部分積;初始部
分積為0。1011
10001111
23
QY二、原碼乘法算法
?:*2、原碼一位乘法算法:
假設(shè)[X]原=XsX1X2.......Xn,[Y]原二YsY1
Y2……Yn,P=X-Y,Ps是積的符號:
■符號位單獨處理ps=Xs十Ys
?絕對值進行數(shù)值運算|P|二|X|*|Y|
?:?例如:X=+1011,Y=-1101,用原碼一位乘法計算
P=X'YO
QY舉例
部分積乘數(shù)Y操作說明
■[X]原二0,1011O,000011O1
?[Y]原=1,1101
+O,1011V4=l,+IX|
■Ps二Xs十Ys
O,1011
=0?1=1
右移—位
■|P|二|X|-|Y|O,0101111O
十O,0000V3=0,+0
O,0101
O,OO1O1111右移一位
+0,1011Y2=l,+|x|
O,1101
[P]原=L10001111
O,01101111右移—位
+0,1011V1=1,+Ix|
0001
0,1000右移一位
QH—、原碼乘法及實現(xiàn)
3、原碼乘法的硬件實現(xiàn)
000001101
27
gY第一次求部分積加運算:+兇000001101
010111101
28
000001101
01011E1101
001011110
29
000001101
010111101
001011110
001011110
30
01011
01011
01011
01011
符號位異或
01011結(jié)果為:1,1000111
開始
原碼一位乘法流程
結(jié)束
36
補碼乘法及實現(xiàn)
1、補碼乘法算法
(1)補碼一位乘法——校正法
假設(shè)[X]補=Xo.X1,
[丫]補=丫。4……I,
則有:
[X?Y]補二[知補?(0.Y1……YQ+Y°?[—X]補
37
補碼乘法及實現(xiàn)
證明如下:
■當(dāng)被乘數(shù)X的符號任意,Y為正數(shù)時:
根據(jù)補碼定義有:
[X]補=2+X=2n+1+X(mod2)
[Y]補二Y
則:
[X]補?[Y]補=(2田+X)-Y=2田?丫+X-Y
=2n+i?(0.丫1.......Yn)+X?Y
=2-(丫1.......Yn)+X?Y=2+X-Y(mod2)
=[X?Y]補
即:Y>0時,[X?Y]補二[X]補?[Y]補
二兇補?”……Yn)
38
補碼乘法及實現(xiàn)
■當(dāng)被乘數(shù)X的符號任意,Y為負(fù)數(shù)時:
[Y]補=2+Y=1.丫1……Y”則:
丫=[Y]補一2=0.Y1……Yn-1
[X?Y]補二[X。丫1?????,Yn-X]補
=[X”……Yn]補+[-X]補
因為0.丫1......Yn>0,所以:
[X”……Yn]補=[X]補?”……Yn)
所以:Y<0時,
[X?Y]補二兇補?(0.1?????.Yn)+[—X]補
39
Q<二、補碼乘法及實現(xiàn)
例如:X=+0.1011,Y=-0.1101,用補碼一位乘法的校正法計算P二XV。
[X]補=00.1011[Y]^1=11.0011[-X]^1=11.0101
部分積乘數(shù)Y操作說明
00.00000011
+00.1011Y4=l,+[X]補
00.1011
00.01011001_右移一位
+00.1011Y3=l,+[X]補
01.0000
00.10000100右移一,位
+00.0000Y2=0,+0[X-Y]^=1.01110001
00.1000
00.01000010右移一位X-Y=-0.10001111
+00.0000Yi=O,+0
00.0100
00.00100001右移一位
+11.0101Vo=i,+[—X]補校lE
11.01110001
例:設(shè)X=—0.1101,Y二一0.1011,即:兇補二11.0011,[Y]補=11.0101,求[X*Y]補
部分積乘數(shù)說明
00.00000101初始值
+[X]補11.0011+[X]補
11.0011—
右移一位11.1001]C1o右移—M立
+000.0000+0
11.1001—
右移一位1L1100]01右移—位
+[X]補11.0011+DG補
10.1111
右移一位11.0111111o右移--位
+000.0000+0
11.0111
右移一位
右移一位11.101111111
+「—X〕補00.1I01+[-X]補
00.10001111
計算結(jié)果:[X*Y]補=0.10001111
補碼乘法及實現(xiàn)
?(2)補碼一位乘法----Booth算法
做出如下推導(dǎo):
[X?Y]補二蟲]補?(O.Yi……Yn)+Y°?[—X]補
=兇補?(丫/2一1+丫2?2-2++Y/2-n-Yo)
=[X]補?[Y/(2°-2-1)+Y2-(2-1-2-2)+.......+Yn-(2一村-
2-n)-Y0-20]
二補?[丫。-丫12n+1
[X]*p|1I?21I?2-1+YZ./2--Yz_/2-+.......+Yr'i2--Yr-i2-
n-Y0'20]
二兇補?[(丫廠丫。)?20+(Y2-丫1)?2-1+(Y3-Y2)?2一2+……+
(Yn-YQ51-YQ]
二[X]補?[(丫廣丫。)?2。+(Y2-YP?2-1+(Y3-丫2)?2一2+……+
(丫廣丫田)-2一,十(丫叼-Yn)-2-],0
-12n
=兇補?(a0-2°+a/2+a2-2^千二…++an-2-)
其中,將乘數(shù)Y的補碼在最末位添加一位附加位丫.
(初始為0),aLYj+「Yj,i=0,1,…??.,n-1,n。.
42
Booth算法的運算規(guī)則
假設(shè)[Y]補=Y0,Y1……Yn
①被乘數(shù)X和乘數(shù)Y均以補碼的形式參加乘法運算,運算
的結(jié)果是積的補碼。
②部分積和被乘數(shù)X采用雙符號位,乘數(shù)丫采用單符號位。
③初始部分積為0;運算前,在乘數(shù)丫的補碼末位后添加
一位附加位Yn+1,初始為0。
④根據(jù)YnYn+1的值,按照表4.3進行累加右移操作,右移
時遵循補碼的移位規(guī)則。
⑤累加n+1次,右移n次,即最后一次不右移。
|表43補碼乘法的Booth算法操作表
*操作,
0-lj.+0,右移一位,,
1+[閩斗,右移一位2
b山+[-X]中右移一位,
1-1+0?右移一位c
43
例如:X=+0.1011,Y=-0.1101,用補碼一位乘法的Booth算法計算P二XV。
解:[X]補=00.1011[Y]^=11.0011[-X]^=11.0101
部分積乘數(shù)Y(丫口丫…)操作說叨
00.00001.0011_0
+
11.0101Y4Y5=10,+[—X]補
11.0101
11.101011.0011右移一位
[X-Y]補=1.01110001
十00.0000Y3Y4=11,+0
11.1010
X-Y=-0.10001111
11.1101011.001右移一位
十00.1011丫2丫3=。1.+[X]補
00.1000
00.0100001100右移一位
+00.0000
YiV2=00,-+-0
00.0100
00.0010D0011,0右移一位
4-11.0101Y°Y『10,+E-x]補
11.01110001
二、補碼乘法及實現(xiàn)
2、補碼乘法的硬件實現(xiàn)
46
陣列乘法器
孝原理類似于二進制手工算法
■位積的每一位XiYj都可以用一個與門實現(xiàn),而每
位的相加均可以使用一個全加器來實現(xiàn)。
XXXX
1234
XYYYY
1234_______
XYXYXYXY
14243444
XYXYXYXY
13233343
XYXYXYXY
12223242
+XYXYXYXY
11213141
PPPPPPPP
12345678
47
絕對值陣列乘法器
48
補碼陣列乘法器
補碼求絕對值電路
先通過一個補碼求絕對值的邏輯電路變?yōu)榻^對值后,
送入絕對值陣列乘法器,運算得到積的絕對值,然后
再通過一個絕對值求補碼的邏輯電路,根據(jù)積的符號
求出積的補碼形式。
49
補碼陣列乘法器
50
4.3定點數(shù)除法運算及實現(xiàn)
原碼除法及實現(xiàn)
補碼除法及實現(xiàn)
陣列除法器
QH—、原碼除法及實現(xiàn)
1、原碼除法算法
?:?(D手工除法算法0.1101
■改進手工算法即可適合機器運算:0.1101]0,10110
■計算機通過做減法測試來實現(xiàn)1101
判斷:結(jié)果大于等于表明夠
0,10010
減,曲1;結(jié)果小于0,表明不
夠減,商0。1101
■計算機將余數(shù)左移一位,再直10100
接與不右移的除數(shù)相減。1101
X=+0.1011,Y=-0.11010111
X+Y
52
一、原碼除法及實現(xiàn)
?(2)原碼恢復(fù)余數(shù)算法
假設(shè)[X]原=Xs.X1X2.......Xn,[丫]原二丫$.丫1
Y2.......Yn,Q是X+Y的同,Qs是陶的符號,R是
X小丫的余數(shù),Rs是余數(shù)的符號
■原碼除法運算的規(guī)則是:
?1.Qs-Xs?Ys,Rs-Xs,|Q|-
|X|+|Y|-|R|+|Y|
?2.余數(shù)和被除數(shù)、除數(shù)均采用雙符號位;初
始余數(shù)為|X|。
53
一、原碼除法及實現(xiàn)
■原碼除法運算的規(guī)則是:
?3.每次用余數(shù)減去|Y|(通過加上[-|丫|]補來
實現(xiàn)),若結(jié)果的符號位為0,則夠減,上商
1,余數(shù)左移一位;若結(jié)果的符號位為1,則
不夠減,上商0,先加|丫卜1灰復(fù)余數(shù),然后余
數(shù)左移一位。
?4.循環(huán)操作步驟3,共做n+1次,最后一次不
左移,但若最后一次上商0,則必須+|丫卜詼復(fù)
余數(shù);若為定點小數(shù)除法,余數(shù)則為最后計
算得到的余數(shù)右移n位的值。
54
被除數(shù)/余數(shù)商Q操作說明
±1
00.10110000
+11.0011+[-IY|]補
例如:X=+0.1011,11.101100000R0<0,上商。
Y=-0.1101+00.1101+1Y|恢復(fù)余數(shù)
用原碼恢復(fù)余數(shù)算法計算00.1011
X+Y。
01.011O00000左移一位
解:[X]原=0.10。
+11.0011+[-IY|]補
1101
00.100100001_Ri>0,上商1
|X|=0.1011|Y|=0.1101
01.001000010左移一位
[-[丫|]補=11.0011
+11.0011+Y門補
G)S=Xg十丫s=Rg二0
00.010100011_R2>0,上商1
00.101000110—4立
得[Q]原=11101+11.0011+[-1Y]]補
11.110100110R<o,上商0
[R]原=0.000001113
+00.1101+1V|恢復(fù)余數(shù)
00.1010
01.010001100-4爻
+11.0011+[―IY門補
01101
00.0111R4>0,上商1
一、原碼除法及實現(xiàn)
?:?(3)原碼不恢復(fù)余數(shù)算法
-又稱為加減交替法:當(dāng)某一次求得的差值(余
數(shù)%)為負(fù)時,不是恢復(fù)它,而是繼續(xù)求下一位
商,但用加上除數(shù)(+|丫|)的辦法來取代
(-|Y|)操作,其他操作不變。
■其原理證明如下:
?在恢復(fù)余數(shù)除法中,若第iT次求商的余數(shù)
為RT,下一次求商的余數(shù)為用,貝八
R=2R.一|Y|
?如巢R/0,商的第i位上1,并執(zhí)行操作:
余數(shù)左移一位,再減|丫|,得以+1,貝%
Ri+1=2R-|Y|
56
一、原碼除法及實現(xiàn)
■如果RRO,商的第i位上0,并執(zhí)行操作:恢
復(fù)余數(shù)(+1丫|),將余數(shù)左移一位,再減|丫|,
得其過程可用公式表示如下:
Ri+1=2(&+|Y|)-|Y|=2Ri+2|Y|-|Y>2Ri+|Y|
■加減交替法的規(guī)則如下:
?余數(shù)為正時,商上1,求下一位商的辦法,是
余數(shù)左移一位,再減去除數(shù);
?當(dāng)余數(shù)為負(fù)時,商上0,求下一位商的辦法,
是余數(shù)左移一位,再加上除數(shù)。
?若最后一次上商為0,而又需得到正確余數(shù),
則在這最后一次仍需恢復(fù)余數(shù)。
57
被除數(shù)/余數(shù)商Q操作說明
00.10110000
例如:X=+0.1011,
Y=-0.1101,用原碼不+11.0011+[-1Y]]補
恢復(fù)余數(shù)算法計算11.111000000R0<0,上商。
X+Y。11.110000000左—Y立
解:原
[X]=0.1011+00.1101+1Y|
[Y]原=1.1101
00.10010000工Ri>0,上商1
|X|=0,1011
|Y|=0.110101.001000010左—Y立
[-|Y|]補=11.0011+11.0011+[-1Y□補
00.01010001
Qs二Xs十Ys-11R2>0,上商1
RS二000.101000110左移一位
+11.0011+[-1Y]]補
11.110100110R3<O,上商。
[Q]原=1.1101
11.101001100左移一位
[R]原=0.00000111+00.1101+1Y|
00.011101101R4>0,上商1
QY—、原碼除法及實現(xiàn)
*2、原碼除法的硬件實現(xiàn)
A<|X|/余數(shù))Q(商IQI)Qn
7\
左移一位
緩沖骷
z\
Bi
計數(shù)器<斜>
并行加法器(n+2位)
=0
控制電路邏輯
7\7\n_n_n_
控制邏相:<>DIV
t
B(除數(shù)|Y|)
QY—、原碼除法及實現(xiàn)
原碼不恢復(fù)余數(shù)除法流程
計數(shù)器減1
補碼除法及實現(xiàn)
1、補碼除法算法
補碼不恢復(fù)余數(shù)除法的規(guī)則。假設(shè)[X]補=XS.X1
X2...Xn,[Y]補=YS.Y1Y2...Yn,Q是X+Y的
商,R是余數(shù),則補碼除法運算的規(guī)則是:
①X和Y以補碼形式參加除法運算,商也以補碼的形
式產(chǎn)生。余數(shù)和被除數(shù)、除數(shù)均采用雙符號位。
②當(dāng)[X]補與[Y]補同號時,第一次做兇補+[-丫]補操作,
當(dāng)異號時,第一次做[X]補+[Y]補操作,得到第一
次的部分余數(shù)[R0]補。
61
補碼除法及實現(xiàn)
補碼除法運算的規(guī)則是:
③當(dāng)[Ri]補與[丫]補同號時,上商1,然后余數(shù)先左移
一位,珈[-丫];、得到新余數(shù)[Ri+口補;當(dāng)[Ri]補與
[Y]補異號時,上商0,余數(shù)左移T立,力口[丫"卜得
到新余數(shù)[Ri+1]補。
④循環(huán)操作步驟③,共做n次,得到1位商符和(n-
1)位商的補碼數(shù)值位,最末位桌用恒置“1”法。
表4.4補碼除法的運算操作表
上商
[X]與[Y]商符第一次操作[K]與[Y]下一步操作
真值補碼
減法同號(夠減)11余數(shù)左移一位,+[-Y]
同號0
[X]+[-¥]異號(不夠減)00余數(shù)左移一位,+[Y]
加法同號(不夠減)01余數(shù)左移一位,+[-Y]
異號1
[X]+[¥]異號(夠減)10余數(shù)左移一位,+[Y]
62
補碼除法及實現(xiàn)
第二種方法的運算規(guī)則為:
①X和Y以補碼形式參加除法運算,商也以補碼的形
式產(chǎn)生。余數(shù)和被除數(shù)、除數(shù)均采用雙符號位。
部分余數(shù)初始為[X]補,即[R。]補=[X]補。
②當(dāng)[Ri]補與[丫]補同號時,上商1,然后余數(shù)先左移
一位,加[-丫]補得到新余數(shù)[Ri+口補;當(dāng)[Ri]補與
[Y]補異號時,上商0,余數(shù)左移一位,加[-丫]補得
到新余數(shù)[Ri+1]補。
③循環(huán)操作步驟②,共做n次,得到1位商符和(n-1
位商的補碼數(shù)值位,最末位采用恒置“1”法。
63
補碼除法及實現(xiàn)
X=+0.1011,Y=-0.1101,用補碼不恢復(fù)余數(shù)算法計算
X4-Yo
兇補二00.1011[丫]補二.0011[-Y],,=00.1101
第一種方法
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國一次性鼻腸管行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球藥物代謝和藥代動力學(xué) (DMPK)服務(wù)行業(yè)調(diào)研及趨勢分析報告
- 劇本推理行業(yè)發(fā)展?jié)摿︻A(yù)測及投資戰(zhàn)略研究報告
- 液體二氧化硫項目可行性研究報告
- 西藏某礦區(qū)鉛鋅礦開采工程項目可行性研究報告
- 全滌面料項目可行性研究報告
- 2025年中國銅桿冷軋機行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 屠宰廠屠宰深加工項目可行性研究報告建議書申請立項
- 2025年防生口罩項目可行性研究報告
- 2025-2030年中國商品包裝印刷行業(yè)深度研究分析報告
- 2025-2030年中國反滲透膜行業(yè)市場發(fā)展趨勢展望與投資策略分析報告
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 英語試題
- 春節(jié)節(jié)后收心會
- 《榜樣9》觀后感心得體會四
- 七年級下冊英語單詞表(人教版)-418個
- 水上水下作業(yè)應(yīng)急預(yù)案
- Jane-Eyre簡愛英文課件
- (小學(xué))人教版一年級下冊數(shù)學(xué)《認(rèn)識鐘表》課件
- 2022年營口市大學(xué)生??紝U锌荚囌骖}及答案
- API520-安全閥計算PART1(中文版)
- 商務(wù)提成辦法
評論
0/150
提交評論