第3章 運算方法與運算部件_第1頁
第3章 運算方法與運算部件_第2頁
第3章 運算方法與運算部件_第3頁
第3章 運算方法與運算部件_第4頁
第3章 運算方法與運算部件_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 X 0X1 1 1X1 1X 1 1X0X 0XX 0X2 2n n2 2n nX X2 2n nX, X, 2 2n nX0X0X 0XX 0X1 12 2X X2 2X X 1 1X0X0X補X原X反X真值符號位+/ -變成0/1數(shù)值位不變符號位不變,數(shù)值位不變(XS=0) 變反,末位+1(XS=1)符號位不變, 數(shù)值位不變(XS=0) 數(shù)值位變反(XS=1)圖圖3-1 三種機器數(shù)及真值間的轉(zhuǎn)換關(guān)系三種機器數(shù)及真值間的轉(zhuǎn)換關(guān)系(1)比較比較 對正數(shù)而言對正數(shù)而言, 上述三種碼都等上述三種碼都等于真值本身。于真值本身。最高位都表示符號位最高位都表示符號位,補碼和反補碼和反碼的符號位可與數(shù)值

2、位一樣看待碼的符號位可與數(shù)值位一樣看待,和數(shù)值位一起參加運算;但原碼和數(shù)值位一起參加運算;但原碼的符號位必須與數(shù)值位分開處理。的符號位必須與數(shù)值位分開處理。 原碼和反碼的真值原碼和反碼的真值0各有兩種各有兩種不同的表示方式不同的表示方式,而補碼的真值而補碼的真值0表示是唯一的表示是唯一的。(2)轉(zhuǎn)換轉(zhuǎn)換三種機器數(shù)及真值的轉(zhuǎn)換關(guān)系如上圖所示。從圖中可見三種機器數(shù)及真值的轉(zhuǎn)換關(guān)系如上圖所示。從圖中可見, 真值真值X與補與補碼或反碼間的轉(zhuǎn)換是通過原碼實現(xiàn)的碼或反碼間的轉(zhuǎn)換是通過原碼實現(xiàn)的, 當然當然, 對于已熟練掌握轉(zhuǎn)換方對于已熟練掌握轉(zhuǎn)換方法的讀者也可直接完成真值法的讀者也可直接完成真值X與補碼或

3、反碼間的轉(zhuǎn)換。與補碼或反碼間的轉(zhuǎn)換。 符號數(shù)值部分符號數(shù)值部分純小數(shù)表示法小數(shù)點整數(shù)表示法小數(shù)點圖圖3-3 3-3 定點數(shù)表示法定點數(shù)表示法msEm尾符 階碼部分尾數(shù)數(shù)值位尾數(shù)部分,用原碼表示圖3-4 IEEE 754標準的浮點格式例例. 0.11011.10111.1011乘積乘積 P = X P = X Y Y符號符號 S SP P= S= SX X S SY YX原原Y原原(1 1)手算)手算 0.11010.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111上符號:上符號:1.1

4、00011111.10001111部分積部分積問題:問題:1 1)加數(shù)多(由乘數(shù)位數(shù)決定)。)加數(shù)多(由乘數(shù)位數(shù)決定)。 2 2)加數(shù)的位數(shù)多(與被乘數(shù)、乘)加數(shù)的位數(shù)多(與被乘數(shù)、乘 數(shù)位數(shù)有關(guān))。數(shù)位數(shù)有關(guān))。改進:將一次相加改為分步累加。改進:將一次相加改為分步累加。(2 2)分步乘法)分步乘法每次將一位乘數(shù)所對應的部分積與每次將一位乘數(shù)所對應的部分積與原部分積的累加和相加,并移位。原部分積的累加和相加,并移位。設(shè)置寄存器:設(shè)置寄存器: A A:存放:存放部分積累加和部分積累加和、乘積高位乘積高位 B B:存放:存放被乘數(shù)被乘數(shù) C C:存放:存放乘數(shù)乘數(shù)、乘積低位乘積低位 設(shè)置初值:設(shè)

5、置初值: A = 00.0000A = 00.0000 B = X = 00.1101 B = X = 00.1101 C = Y = .1011 C = Y = .1011 步數(shù)步數(shù) 條件條件 操作操作 A C A C 00.0000 .101 00.0000 .1011 1 1 1)C Cn n=1=1+B+BC Cn n+ 00.1101+ 00.110100.00.1101110100.00.011001101 1.10.101 12 2)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0011001100.00.100110011111.1.10 0

6、3 3)C Cn n=0=0+0+0+ 00.0000+ 00.000000.00.1001100100.00.01000100111111. .1 14 4)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0001000100.00.1000100011111111X X原原Y Y原原 = 0.10001111= 0.10001111 3.3.運算規(guī)則運算規(guī)則(1 1)操作數(shù)、結(jié)果用原碼表示;)操作數(shù)、結(jié)果用原碼表示;(2 2)絕對值運算,符號單獨處理;)絕對值運算,符號單獨處理;(3 3)被乘數(shù))被乘數(shù)(B)(B)、累加和、累加和(A)(A)取雙符號位取雙

7、符號位, ,乘數(shù)只取乘數(shù)只取尾數(shù);尾數(shù);(4 4)乘數(shù)末位)乘數(shù)末位(Cn)(Cn)為判斷位,其狀態(tài)決定為判斷位,其狀態(tài)決定 下步操作;下步操作;(5 5)作)作n n(乘數(shù)有效位數(shù))次循環(huán)(累加、右移)(乘數(shù)有效位數(shù))次循環(huán)(累加、右移)符號位符號位比較法比較法算法算法Y Yn n Y Yn+1 n+1 Y Yn+1n+1-Y-Yn n 操作操作(A(A補補為部分積累加和為部分積累加和) ) 0 00 00 10 11 01 01 1 1 1 1/2A1/2A補補 1/2(A1/2(A補補+X+X補補) ) 1/2(A 1/2(A補補-X-X補補) ) 1/2A 1/2A補補0 01 1-1

8、-10 03.3.運算實例運算實例X=-0.1101,Y=-0.1011,X=-0.1101,Y=-0.1011,求求(XY)(XY)補補。初值:初值:A=00.0000,B=XA=00.0000,B=X補補=11.0011,=11.0011, -B=(-X) -B=(-X)補補=00.1101,C =Y=00.1101,C =Y補補=1.0101=1.0101步數(shù)步數(shù) 條件條件 操作操作 A C A C 00.0000 1.010 00.0000 1.0101 1 1 1)1 01 0-B-BC Cn n+ 00.1101+ 00.110100.00.1101110100.00.011001

9、101 11.011.0101012 2)0 10 1+B+B+ 11.0011+ 11.001111.11.1001100111.11.1100110011111.01.010103 3)1 01 0-B-B+ 00.1101+ 00.110100.00.1001100100.00.010001001111111.1.01014 4)0 10 1+B+B+ 11.0011+ 11.001111.11.0111011111.11.10111011111111111.01.00 0 C Cn+1n+1C Cn nC Cn+1n+15 5)1 01 0-B-B+ 00.1101+ 00.1101(

10、XY)(XY)補補 = 0.10001111= 0.100011115 5)1 01 0-B-B+ 00.1101+ 00.110100.00.1000100011111111修正修正(1)A(1)A、B B取雙符號位,符號參加運算;取雙符號位,符號參加運算;(2)C(2)C取單符號位,符號參加移位,以決定最后是否取單符號位,符號參加移位,以決定最后是否 修正;修正;(3)C(3)C末位設(shè)置附加位末位設(shè)置附加位C Cn+n+1 1,初值為,初值為0 0,C Cn nC Cn+n+1 1組成判組成判 斷位,決定運算操作;斷位,決定運算操作;(4)(4)做做n+1n+1步操作步操作, ,其中其中n

11、 n步循環(huán)步循環(huán), ,最后一步不移位。最后一步不移位。 4.4.運算規(guī)則運算規(guī)則 3.4 二進制除法運算二進制除法運算除法除法 加減和移位操作。加減和移位操作。例例. . 手工計算手工計算 0.101100.101100.111110.111110.101100.10110 1101 11010.0.0 01 1 11111 111110.111110.111110 00 00 01 1 11111 11111 10101 101010 01 1 11111 11111 1011 10110 00 0.0000000000.0.0.商:商: 0.101100.10110余數(shù):余數(shù):0.1011

12、00.101102 2 5實現(xiàn)除法的關(guān)鍵:實現(xiàn)除法的關(guān)鍵:比較余數(shù)和除數(shù)的比較余數(shù)和除數(shù)的絕對值大小,以絕對值大小,以決定上商。決定上商。原碼恢復余數(shù)法原碼恢復余數(shù)法1.1.算法算法 比較余數(shù)和除數(shù)的大小可用減法試探。比較余數(shù)和除數(shù)的大小可用減法試探。余數(shù)余數(shù)2 - 2 - 除數(shù)除數(shù)= =新余數(shù)新余數(shù)為正為正: :夠減夠減, ,商商1 1。為負為負: :不夠減不夠減, ,商商0,0,恢復原余數(shù)?;謴驮鄶?shù)。新余數(shù)新余數(shù)2.2.實例實例已知已知 X=-0.10110X=-0.10110,Y=0.11111Y=0.11111,求求X/YX/Y,給出商,給出商Q Q和余數(shù)和余數(shù)R R設(shè)置寄存器:設(shè)置

13、寄存器: A A:被除數(shù)、余數(shù),:被除數(shù)、余數(shù),B B:除數(shù),:除數(shù),C C:商:商A= X = 00.10110A= X = 00.10110 -B = 11.00001 -B = 11.00001B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000C= Q = 0.00000寄存器初值:寄存器初值:步數(shù)步數(shù) 條件條件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)正正-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.00000.00

14、002 2)負負-B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.0001 13 3)恢復余數(shù)恢復余數(shù)+B+B+00.11111+00.1111100.1101000.1101001.1010001.101000.000.0010104 4)正正-B-B +11.00001+11.0000100.1010100.10101C Cn nr rQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r22r r2 22r2r2 2r r3 3101步數(shù)步數(shù) 條件條件 操作操作 A C

15、A C 00.10101 0.0000.10101 0.00101101 5 5)正正-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.010101 16 6)負負 -B-B00.1011000.10110+11.00001+11.0000111.1011111.101110.0.101110117 7)恢復余數(shù)恢復余數(shù)+B+B+00.11111+00.1111100.1011000.10110Q= -0.10110Q= -0.10110C Cn nQ Q4 4 Q Q5 5 Q Q3 3 r r3 32r2r3 3r r

16、4 42r2r4 4r r55r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=-0.10110+X/Y=-0.10110+-0.10110-0.101102 2-5-5 0.11111 0.11111103.3.說明說明(1)A(1)A和和B B取雙符號位,分別裝取雙符號位,分別裝X X和和Y Y的絕對值。的絕對值。(2)(2)最后一步余數(shù)乘以最后一步余數(shù)乘以2-n為結(jié)果的余數(shù),其為結(jié)果的余數(shù),其符號與被除數(shù)同號。符號與被除數(shù)同號。3.2.3.2 原碼不恢復余數(shù)法原碼不恢復余數(shù)法(加減交替法)(加減交替法)1.1.算法分析算法分析第二步第二步: :2 2r r1 1-

17、B=-B=r r2 200第三步第三步: :r r2 2+B=+B=r r2(2(恢復余數(shù)恢復余數(shù)) )第四步第四步: :2 2r r2 2-B=-B=r r3 32 2r r2 2-B=2(-B=2(r r2 2+B)-B+B)-B =2 =2r r2 2+B=+B=r r3 3 第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步:2:2r r2 2+B=+B=r r3 3 ( (不恢復余數(shù)不恢復余數(shù)) )2.2.算法算法 r ri+1i+1=2=2r ri i+(1-2Q+(1-2Qi i)Y)Yr ri i為為正,正,則則Q Qi i為為1 1,第第i+1i+1

18、步作步作2 2r ri i-Y-Y;r ri i為為負,負,則則Q Qi i為為0 0,第第i+1i+1步作步作2 2r ri i+Y+Y。3.3.實例實例X=0.10110X=0.10110,Y=0.11111Y=0.11111,求,求X/YX/Y,給出商,給出商Q Q和余數(shù)和余數(shù)R R。初值:初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B=11.00001 -B=11.00001步數(shù)步數(shù) 條件條件 操作操作 A C A C 00.10110

19、0.0000000.10110 0.00000 1 1)為正為正-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.00000.00002 2)為負為負 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.0001 13 3)+B+B+00.11111+00.1111111.1011011.101100.000.001010為正為正00.1010100.10101C Cn n r rQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 1

20、2r2r1 1r r2 22r2r2 2r r3 34 4)為正為正-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.0101101Q Q4 4 2r2r3 3r r4 41011步數(shù)步數(shù) 條件條件 操作操作 A C A C 00.01011 0.000.01011 0.010111011 6 6)為負為負 恢復余數(shù)恢復余數(shù)+B+B+00.11111+00.1111100.1011000.10110Q= 0.10110Q= 0.10110C Cn nQ Q4 4 r r4 45 5)為正為正-B-B 00.10110 00

21、.10110+11.00001+11.0000111.1011111.101110.0.10111011Q Q5 5 2r2r4 4r r55r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=0.10110+X/Y=0.10110+ 0.10110 0.101102 2-5-5 0.11111 0.111110 4.4.運算規(guī)則運算規(guī)則(1 1)A A、B B取雙符號位,取雙符號位,X X、Y Y取絕對值運算,要求取絕對值運算,要求|X| |Y| |X| |Y| 。(2 2)根據(jù)余數(shù)的正負決定商值及下一步操作。)根據(jù)余數(shù)的正負決定商值及下一步操作。(3 3)求)求n n

22、位商,作位商,作n n步操作;若第步操作;若第n n步余數(shù)為負,步余數(shù)為負,則增加第則增加第n+1n+1步恢復余數(shù),不移位。步恢復余數(shù),不移位。補碼加減交替法補碼加減交替法如何上商?如何上商? 如何確定商符?如何確定商符? 如何判斷是否夠減?如何判斷是否夠減?已知已知X補補與與Y補補求求X補補/ Y補補在補碼除在補碼除法中需要解決法中需要解決:1.1.判夠減判夠減(1)(1)同號相除同號相除4 74 77 47 4-4 -7-4 -7-7 -4-7 -41 1-4 7-4 7-7 4-7 44 -74 -77 -47 -40 01 10 0-4-43 3-7-7-3-3-(-4)-(-4)-3

23、-3-(-7)-(-7)3 3夠減夠減不夠減不夠減夠減夠減不夠減不夠減夠減:夠減:r與與X、Y同號;同號;不夠減:不夠減:r與與X、Y異號。異號。(2)(2)異號相除異號相除 1 10 0 1 1 0 0+(-4)+(-4) 3 3+(-7)+(-7)-3-3 +4 +4-3-3 +7 +7 3 3夠減夠減夠減夠減不夠減不夠減不夠減不夠減夠減:夠減:r與與X同號同號,與與Y異號;異號; 不夠減:不夠減:r與與X異號異號,與與Y同號。同號。(3 3)判斷規(guī)則)判斷規(guī)則同號:作同號:作X X補補-Y-Y補補X X補補Y Y補補夠減夠減:r r補補與與Y Y補補同號同號不夠減不夠減:r r補補與與Y

24、 Y補補異號異號異號:作異號:作X X補補+Y+Y補補夠減夠減:r r補補與與Y Y補補異號異號不夠減不夠減:r r補補與與Y Y補補同號同號2.2.求商值求商值X X補補Y Y補補同號:商為正同號:商為正異號:商為負異號:商為負夠減商夠減商1 1不夠減商不夠減商0 0夠減商夠減商0 0不夠減商不夠減商1 1( (r r、Y Y同號同號) )( (r r、Y Y異號異號) )( (r r、Y Y異號異號) )( (r r、Y Y同號同號) )夠減夠減商商1 1不夠減商不夠減商0 0夠減商夠減商0 0不夠減不夠減商商1 1( (r r、Y Y同號同號) )( (r r、Y Y異號異號) )( (

25、r r、Y Y異號異號) )( (r r、Y Y同號同號) )( (r r、Y Y同號同號) )( (r r、Y Y異號異號) )( (r r、Y Y異號異號) )( (r r、Y Y同號同號) )夠減夠減商商1 1不夠減不夠減商商0 0夠減夠減商商0 0不夠減不夠減商商1 1上商規(guī)則:上商規(guī)則:Q Qi i=Sr=Sri iS SY Y余數(shù)與除數(shù)同號商余數(shù)與除數(shù)同號商1 1,異號商,異號商0 0。3.3.算法算法 ( (r ri+1i+1) )補補=2=2r ri i補補+(1-2Q+(1-2Qi i補補)Y)Y補補r ri i補補與與Y Y補補同號,同號,則則Q Qi i補補為為1 1,第

26、第i+1i+1步作步作2 2r ri i補補-Y-Y補補;r ri i補補與與Y Y補補異號,異號,則則Q Qi i補補為為0 0,第第i+1i+1步作步作2 2r ri i補補+Y+Y補補。4.4.求商符求商符令令X X補補 = = r r0 0補補r r0 0補補與與Y Y補補同號:同號:Q Q0 0補補=1=1異號:異號:Q Q0 0補補=0=0與實際商與實際商符相反符相反商符商符與原碼加減交替法比較與原碼加減交替法比較真商真商= =假商假商+1.00001+1.00001Q Q0 0.Q.Q1 1Q Q2 2QQn-1n-1(1)1)對第對第n n位商位商( (末位商末位商) )采取恒

27、置采取恒置1 1(2 2)將商符變反)將商符變反n位位5.5.商的校正商的校正上述上商操作只作到小數(shù)點后第上述上商操作只作到小數(shù)點后第n-1位,位,差一位商,并且商的符號與實際相反。差一位商,并且商的符號與實際相反。即即假商假商校正:校正:6.6.實例實例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,給出商,給出商Q Q和余數(shù)和余數(shù)R R。初值:初值:A =XA =X補補=00.10110=00.10110 B =Y B =Y補補=11.00001 =11.00001 C =QC =Q補補=0.00000=0.00000 -B =00.11

28、111 -B =00.11111步數(shù)步數(shù) 條件條件 操作操作 A C A C 00.10110 0.000000.10110 0.0000 1 1)異號異號+B+B 01.01100 01.01100+11.00001+11.0000100.0110100.01101 0.00 0.0000002 2)同號同號 +B+B00.1101000.11010+11.00001+11.0000111.1101111.11011 0.0 0.0001001C Cn n-1-1r r與與Y YQ Q1 1 Q Q2 2 r r0 02r2r0 0r r1 12r2r1 1r r2 2求商符求商符Q Q0

29、0 異號異號5 5)+B+B+11.00001+11.0000100.1011000.1011011.1011111.10111步數(shù)步數(shù) 條件條件 操作操作 A C A C 11.11011 0.011.11011 0.0001001 3 3)異號異號-B-B 11.10110 11.10110+00.11111+00.1111100.1010100.10101 0. 0.001000104 4)異號異號 +B+B01.0101001.01010+11.00001+11.0000100.0101100.01011 0.0100 0.0100C Cn n-1-1r r與與Y YQ Q3 3 Q Q2 2 r r2 22r2r2 2r r3 32r2r3 3r r4 42r2r4 4r r5 5假商假商=0.0100=0.0100Q Q4 4 真商真商=0.0100+1.00001=1.01001=0.0100+1.00001=1.01001Q= -0.10111 R= -0.01001Q= -0.10111 R= -0.010012 2X/Y=-0.10111+X/Y=-0.10111+-0.01001-0.010012 2-5-5 -0.1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論