




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機組成與結構計算機組成與結構王愛英(第四版)齊魯師范學院 梁晨第第三三章章運運算算方方二進制數據表示方法及加減運算n3.3 二進制乘法運算n3.4 二進制除法運算n3.5 浮點數的運算方法n3.6 運算部件n3.7 數據校驗碼本章處處理,理,在在計計算算機機內內部,部,各各種種信信息息都都必必須須采采用用數數字字化化編編碼,碼,即即用用最最簡簡單單的的二二進進制制數數碼碼來來表表示。示。n本本章章主主要要介介紹紹常常用用的的進進位位計計數數制、制、二二進進制制運運算算及及其其實實現、現、無無符符號號數數和和帶帶符符號號數數的的表表示示方方法、法、數數的的定定點點與與浮浮點點表表示示方方法、
2、法、字字符符和和漢漢字字的的編編碼碼方方法法及及數數據據校校驗驗碼碼等。等。n熟熟悉悉和和掌掌握握本本章章的的內內容容是是學學習習計計算算機機原原理理的的最最基基本本要要求。求。3.1 數數據據利利用用符符號號來來計計數數的的方方法。法。二二進進制、制、十十進進制、制、八八進進制制和和十十六六進進制制是是學學習習計計算算機機知知識識應應該該掌掌握握的的數數制。制。R R進進制制的的數,數,都都有有以以下下三三個個要要點點: :( (1) 1) 基基數數為為R R,即即使使用用R R個個數數碼。碼。( (2) 2) 進進位位規規則則為為逢逢R R進進一一( (3) 3) 第第i i個個數數位位上
3、上的的數數碼碼所所具具有有的的位位權權為為R Ri i。數數值值可可用用下下面面的的通通式式表表示:示:N N = = a an n- -1 1R Rn n- -1 1+ + a an n- -2 2R Rn n- -2 2+ + +a a1 1R R1 1+ +a a0 0R R0 0+ + +a am mR R- -m m數制法法, , 即即把把各各數數位位乘乘權權R Ri i后后再再相相加。加。例例1 1 將將二二進進制制數數1 10 01 11 11. 1.1 1轉轉換換成成十十進進制制數。數。( (1 10 01 11 11. 1.1) 1)2 2= =1 12 24 4+ +0 0
4、2 23 3+ +1 12 22 2+ +1 12 21 1+ +1 12 20 0+ +1 12 2- -1 1= =1 16 6+ +0 0+ +4 4+ +2 2+ +1 1+ +0. 0.5 5= =2 23. 3.5 5例例2 2 將將十十六六進進制制數數3 35 5C CH H轉轉換換成成十十進進制制數數( (3 35 5C)C)1 16 6= =3 31 16 62 2+ +5 51 16 61 1+ +1 12 21 16 6 0 0= =7 76 68 8+ +8 80 0+ +1 12 2= =8 86 60 0例例3 3 將將八八進進制制數數1 12 27. 7.1 1轉
5、轉換換成成十十進進制制數數( (1 12 27. 7.1) 1) 8 8= =1 18 82 2+ +2 28 81 1+ +7 78 80 0+ +1 18 8- -1 1= = 8 87. 7.1 12 25 5不不同同數數制制間間數數轉轉換換方方法法:乘乘基基數數(R R)取取整。整。例例4 4 將將十十進進制制數數4 45. 5.2 25 5轉轉換換成成二二進進制制數數整整數數部部分分小小數數部部分分4 45 52 2= =2 22 2 余余1 1 低低位位0. 0.2 25 52 2= =0. 0.5 5 取取整整數數0 0 高高位位2 22 22 2= =1 11 1 余余0 01
6、 11 12 2= =5 5 余余1 1 0. 0.5 52 2= =1. 1.0 0 取取整整數數1 1 低低位位5 52 2= =2 2 余余1 12 22 2= =1 1 余余0 01 12 2= =0 0 余余1 1 高高位位所所以,以,4 45. 5.2 25 5= =( (1 10 01 11 10 01. 1.0 01) 1)2 2或或( (1 10 01 11 10 01. 1.0 01) 1)B B二進制與十六一一組組(不不足足四四位位時時補補0 0), ,依依次次轉轉換。換。例例6 6 將將二二進進制制數數1 10 00 01 11 10 01 10 01 11 11 1轉
7、轉換換成成十十六六進進制制數。數。0 01 10 00 0 1 11 10 01 1 0 01 11 11 1 最最高高位位補補0 0(粗粗體體字)字)(4 4 ) ) (D D ) ) (7 7)所所以,以,( (1 10 00 01 11 10 01 10 01 11 11) 1)2 2= =( (4 4D D7) 7)1 16 6或或( (4 4D D7) 7)H H1 16 62 2轉轉換換方方法法:一一位位變變四四位。位。例例7 7 將將十十六六進進制制數數( (4 4A AC)C)H H轉轉換換成成二二進進制制數數4 4 A A C C(0 01 10 00 0)(1 10 01
8、10 0)(1 11 10 00 0)所所以,以,( (4 4A AC)C)H H= = ( (0 01 10 00 01 10 01 10 01 11 10 00) 0)B B十十進進制制數數的的十進制數,數位內滿足二進制規則,數位間,滿足十進制規則,這種編碼稱為BCD碼BCD碼算術運算,要對結果進行修正。修正規則:兩數每數位相加之和小于等于1001,不需修正,若大于1001,要加6(0110)修正,同時向高位進位無無個編碼加上0011形成的,如2的余3碼是0101,8的余3碼是1011例11:(28)10+(55)100101 1011+ 1000 10001110 0011- 0011
9、+00111011 0110帶帶符符號號二二進進原碼其其最最高高位位為為符符號號位位, , 符符號號位位為為0 0時時表表示示該該數數為為正正, , 符符號號位位為為1 1時時表表示示該該數數為為負負, , 數數值值部部分分與與真真值值相相同。同。n若若真真值值為為純純小小數數, , 其其原原碼碼形形式式為為X XS S . . X X1 1X X2 2X Xn n, , 其其中中X XS S表表示示符符號號位。位。原原碼碼的的定定義義為:為: XX原原n例例3. 3.1 11 1:X X0. 0.0 01 11 10 0 XX原原X X0. 0.0 01 11 10 0nX X- -0. 0
10、.0 01 11 10 0 , , XX原原1 1X X1 1( (- -0. 0.0 01 11 10) 0)1 10. 0.0 01 11 10 01. 1.0 01 11 10 0 X 0X1 1 1X1 1X 1 1X0, , 其其中中X XS S表表示示符符號號位。位。n原原碼碼的的定定義義為為: XX原原n例例3. 3.1 12 2:X X1 11 10 01 1 XX原原X X0 01 11 10 01 1X X1 11 10 01, 1, XX原原2 2n nX X2 24 4( (1 11 10 01) 1)1 10 00 00 00 01 11 10 01 1= =1 11
11、 11 10 01 1n原原碼碼表表示示中,中,真真值值0 0有有兩兩種種不不同同的的表表示示形形式:式: 0 0原原0 00 00 00 00, 0, 0 0原原1 10 00 00 00 0n原原碼碼的的優優點點是是直直觀觀易易懂懂, , 機機器器數數和和真真值值間間的的轉轉換換很很容容易易, ,用用原原碼碼實實現現乘、乘、除除運運算算的的規規則則簡簡單。單。n缺缺點點是是加、加、減減運運算算規規則則較較復復雜。雜。X 0XX 0X2 2n n2 2n nX X2 2n nX, X, 2 2n nX0X反碼對對一一個個數數的的各各位位求求反。反。n對對正正數數來來說,說,其其反反碼碼和和原
12、原碼碼的的形形式式是是相相同同的,的,而而負負數數的的反反碼碼是是符符號號位位為為1 1,數數值值部部分分等等于于其其各各位位的的絕絕對對值值求求反。反。如如: :X X XX原原 XX反反1 11 10 01 1 0 01 11 10 01 1 0 01 11 10 01 11 11 10 01 1 1 11 11 10 01 1 1 10 00 01 10 0n在在反反碼碼表表示示中,中,真真值值0 0也也有有兩兩種種不不同同的的表表示示形形式:式: 0 0反反0 00 00 00 00 0 0 0反反1 11 11 11 11 1反碼練練例3.22,補碼值值部部分分的的表表示示與與數數的
13、的正正負負有有關:關:n正正數數: : 數數值值部部分分與與真真值值形形式式相相同;同;x x= =+ +1 11 10 01 10 0 XX補補0 01 11 10 01 10 0n負負數數: : 將將真真值值的的數數值值部部分分按按位位取取反反, , 且且在在最最低低位位加加1 1。x x= =- -1 11 10 01 10 0 XX補補1, 1,0 00 01 11 10 0若若真真值值為為純純小小數數, , 其其原原碼碼形形式式為為X XS S . . X X1 1X X2 2X Xn n, , 其其中中X XS S表表示示符符號號位。位。n小小數數的的補補碼碼定定義義為為 XX補補
14、n例例3. 3.1 16 6:X X0. 0.0 01 11 10 0 XX補補X X0. 0.0 01 11 10 0X X0. 0.0 01 11 10 0 XX補補2 2X X2 2( (0. 0.0 01 11 10) 0) 1 10 00. 0.0 01 11 10 01. 1.1 10 01 10 0X 0XX 0X1 12 2X X2 2X X 1 1X0X0機機器器數數表表示示X補X原X反X真值符號位+/ -變成0/1數值位不變符號位不變,數值位不變(XS=0) 變反,末位+1(XS=1)符號位不變, 數值位不變(XS=0) 數值位變反(XS=1)圖圖3-1 三種機器數及真值間
15、的轉換關系三種機器數及真值間的轉換關系(1)比較比較 對正數而言對正數而言, 上述三種碼都等上述三種碼都等于真值本身。于真值本身。最高位都表示符號位最高位都表示符號位,補碼和反補碼和反碼的符號位可碼的符號位可與與數值位一數值位一樣樣看待看待,和數值位一起參加運算;但原碼和數值位一起參加運算;但原碼的符號位必須的符號位必須與數值位與數值位分開處理。分開處理。 原碼和反碼的真值原碼和反碼的真值0各有兩種各有兩種不同的表示方式不同的表示方式,而補碼的真值而補碼的真值0表示是唯一的表示是唯一的。(2)轉換轉換三種機器數及真值的轉換關系如上圖所示。從圖中可見三種機器數及真值的轉換關系如上圖所示。從圖中可
16、見, 真值真值X與補與補碼或反碼間的轉換是通過原碼實現的碼或反碼間的轉換是通過原碼實現的, 當然當然, 對于已熟練掌握轉換方對于已熟練掌握轉換方法的讀者也可直接完成真值法的讀者也可直接完成真值X與補碼或反碼間的轉換。與補碼或反碼間的轉換。 加加減減法法運運算算為溢出n溢出的判斷(1)當符號相同的兩數相加時,如果結果的符號與加數(或被加數)不相同,則為溢出。(2)當任意符號兩數相加時,如果數值最高位進位與符號位進位不相同,則溢出(3)采用雙符號位的運算數,正數的雙符號位是00,負數的雙符號位是11。符號位正常參加運算,若雙符號位的兩位不相同,則結果溢出。定定點點數數符號數值部分符號數值部分純小數
17、表示法小數點整數表示法小數點圖圖3-3 3-3 定點數表示法定點數表示法浮點數msEm尾符 階碼部分尾數數值位尾數部分,用原碼表示圖3-4 IEEE 754標準的浮點格式尾尾數數的的左移和右移,并修改階碼值使之滿足規格化要求n例:浮點數尾數為0.0011,階碼為0100,規格化時將尾數左移2位,成為0.1100,階碼減去010,修改成0010,浮點數保持不變。n浮點數尾數為0,或階碼的值不能在機器中表示的最小值還小,計算機把該浮點數看成零值,稱為機器零。浮浮點點數數位,尾數24位(含一位符號位)n雙精度浮點數(64位)階碼11位,尾數53位(含一位符號位)n多數計算機中,浮點數的尾數用補碼表示
18、,階碼用補碼或移碼表示數數值值范范表示范圍為2127(1223)2127n定點整數(補碼)的范圍2312311二進制位乘法x.y原x原*y原n基基本本思思想想:每每次次用用乘乘數數的的一一位位去去乘乘被被乘乘數。數。n1.算算法法分分析析例例. 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上符號:上符號:
19、1.100011111.10001111部分積部分積問題:問題:1 1)加數多(由乘數位數決定)。)加數多(由乘數位數決定)。 2 2)加數的位數多(與被乘數、乘)加數的位數多(與被乘數、乘 數位數有關)。數位數有關)。改進:將一次相加改為分步累加。改進:將一次相加改為分步累加。(2 2)分步乘法)分步乘法每次將一位乘數所對應的部分積與每次將一位乘數所對應的部分積與原部分積的累加和相加,并移位。原部分積的累加和相加,并移位。設置寄存器:設置寄存器: A A:存放:存放部分積累加和部分積累加和、乘積高位乘積高位 B B:存放:存放被乘數被乘數 C C:存放:存放乘數乘數、乘積低位乘積低位 設置初
20、值:設置初值: A = 00.0000A = 00.0000 B = X = 00.1101 B = X = 00.1101 C = Y = .1011 C = Y = .1011 步數步數 條件條件 操作操作 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.1
21、0 03 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寄存器被清零,作為初始部分積,被乘數放在B寄存器中,乘數放在C寄存器中,部分積和被乘數相加通過給出AALU和B ALU命令,在ALU中完成,ALU的輸出經過移位電路向右移一位送入A寄存器,C寄存器使用移位寄存器實現,其低位
22、用作B ALU的控制命令。加法器最低一位的值,右移時將移入C寄存器的最高位,使乘積之積的最低位保存進C寄存器中。 3.3.運算規則運算規則(1 1)操作數、結果用原碼表示;)操作數、結果用原碼表示;(2 2)絕對值運算,符號單獨處理;)絕對值運算,符號單獨處理;(3 3)被乘數)被乘數(B)(B)、累加和、累加和(A)(A)取雙符號位取雙符號位, ,乘數只取乘數只取尾數尾數;(4 4)乘數末位)乘數末位( (CnCn) )為判斷位,其狀態決定為判斷位,其狀態決定 下步操作;下步操作;(5 5)作)作n n(乘數有效位數)(乘數有效位數)次循環次循環(累加、右移)累加、右移)定定點點補補碼碼Xn
23、(1)Y為為正:正:Y補補= 0.Y1Y2Yn(XY)補補= X補補(0.Y1Y2Yn)(2)Y為為負:負:Y補補= 1.Y1Y2Yn(XY)補補= X補補(0.Y1Y2Yn)X補補(3)Y符符號號任任意:意:(XY)補補= X補補(0.Y1Y2Yn)-X補補Y0符號位符號位比比較較法法果果決決定定+X補、補、-X補補或或+0。n例3.35 設X=0.1101,Y=0.1011求(XY)補補比較法比較法算法算法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/2A
24、1/2A補補 1/2(A1/2(A補補+X+X補補) ) 1/2(A 1/2(A補補-X-X補補) ) 1/2A 1/2A補補0 01 1-1-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=00.1101,C =Y.1101,C =Y補補=1=1.0101.0101步數步數 條件條件 操作操作 A C A C 00.0000 1.010 00.0000 1.
25、0101 1 1 1)1 01 0-B-BC Cn n+ 00.1101+ 00.110100.00.1101110100.00.011001101 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.101110111111
26、11111.01.00 0 C Cn+1n+1C Cn nC Cn+1n+15 5)1 01 0-B-B+ 00.1101+ 00.1101(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末位設置附加位末位設置附加位C Cn+n+1 1,初值為,初值為0 0,
27、C Cn nC Cn+n+1 1組成判組成判 斷位,決定運算操作斷位,決定運算操作;(4)(4)做做n+1n+1步步操作操作, ,其中其中n n步步循環循環, ,最后一最后一步不移位步不移位。 4.4.運算規則運算規則定定點點數數移一位實現,而3倍被乘數的獲得可以分兩步來完成,利用3=4-1,第一步先完成減1倍被乘數的操作,第二步完成加4倍被乘數的操作。而加4倍被乘數的操作實際上是由比“11”高的兩位乘數代替完成的,可以看作是在高兩位乘數上加“1”。這個“1”可暫時存在Cj觸發器中。機器完成置“1” Cj即意味著對高兩位乘數加1,也即要求高兩位乘數代替本兩位乘數“11”來完成加4倍被乘數的操作
28、。由此可得原碼兩位乘的運算規則如下表所示。移位,最多作n/2+1次加法。當乘數位為奇數時,乘數高位前可只增加一個“0”,此時需作n/2+1次加法,n/2+1次移位(最后一步移一位)。n乘積的符號為X0Y0n例題3.36 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
29、 11111 1011 10110 00 0.0000000000.0.0.商:商: 0.101100.10110余數:余數:0.101100.101102 2 5實現除法的關鍵:實現除法的關鍵:比較余數和除數的比較余數和除數的絕對值大小,以絕對值大小,以決定上商。決定上商。號的異或值,數值為兩數絕對值相除后的結果。n兩種方法:恢復余數法與加減交替法P92例子原碼恢復余數法原碼恢復余數法1.1.算法算法 比較余數和除數的大小可用減法試探。比較余數和除數的大小可用減法試探。余數余數2 - 2 - 除數除數= =新余數新余數為正為正: :夠減夠減, ,商商1 1。為負為負: :不夠減不夠減, ,商
30、商0,0,恢復原余數。恢復原余數。新余數新余數2.2.實例實例已知已知 X=-0.10110X=-0.10110,Y=0.11111Y=0.11111,求求X/YX/Y,給出商,給出商Q Q和余數和余數R R設置寄存器:設置寄存器: A A:被除數、余數,:被除數、余數,B B:除數,:除數,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寄存器初值:寄存器初值:步數步數 條件條件 操作操作 A
31、 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.00002 2)負負-B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.0001 13 3)恢復余數恢復余數+B+B+00.11111+00.1111100.1101000.1101001.1010001.101000.000.0010104 4)正正-B-B +11.00001+11.0000100.101
32、0100.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步數步數 條件條件 操作操作 A C 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
33、)恢復余數恢復余數+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 r4 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)最后一步余數乘以最后
34、一步余數乘以2-n為結果的余數,其為結果的余數,其符號與被除數同號。符號與被除數同號。3.2.3.2 原碼不恢復余數法原碼不恢復余數法(加減交替法)(加減交替法)1.1.算法分析算法分析第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步: :r r2 2+B=+B=r r2(2(恢復余數恢復余數) )第四步第四步: :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
35、 2+B=+B=r r3 3 ( (不恢復余數不恢復余數) )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步作步作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和余數和余數R R。初值:初值:A= X = 00.10110A= X = 00.10110 B= Y
36、= 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B=11.00001 -B=11.00001步數步數 條件條件 操作操作 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.00002 2)為負為負 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.0001 13 3)+B+B+00.
37、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 12r2r1 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步數步數 條件條件 操作操作 A C A C 00.01011 0.000.01011 0.010111011 6 6)為負
38、為負 恢復余數恢復余數+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.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.運算規則運算規則(1 1)A
39、A、B B取雙符號位,取雙符號位,X X、Y Y取絕對值運算,要求取絕對值運算,要求|X| |Y| |X| |Y| 。(2 2)根據余數的正負決定商值及下一步操作。)根據余數的正負決定商值及下一步操作。(3 3)求)求n n位商,作位商,作n n步操作;若第步操作;若第n n步余數為負,步余數為負,則增加第則增加第n+1n+1步恢復余數,不移位。步恢復余數,不移位。補碼加減交替法補碼加減交替法如何上商?如何上商? 如何確定商符?如何確定商符? 如何判斷是否夠減?如何判斷是否夠減?已知已知X補補與與Y補補求求X補補/ Y補補在補碼除在補碼除法中需要解決法中需要解決:1.1.判夠減判夠減(1)(1
40、)同號相除同號相除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-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
41、異號;異號; 不夠減:不夠減:r與與X異號異號,與與Y同號。同號。(3 3)判斷規則)判斷規則同號:作同號:作X X補補-Y-Y補補X X補補Y Y補補夠減夠減:r r補補與與Y Y補補同號同號不夠減不夠減:r r補補與與Y 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異號異號)
42、)( (r r、Y Y異號異號) )( (r r、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同號同號) )( (r r、Y Y同號同號) )( (r r、Y Y異號異號) )( (r r、Y Y異號異號) )( (r r、Y Y同號同號) )夠減夠減商商1 1不夠減不夠減商商0 0夠減夠減商商0 0不夠減不夠減商商1 1上商規則:上商規則:Q Qi i=Sr=Sri iS SY Y余數與除數同號商余數與除數同號商1
43、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,第第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與實際商與實際商符相反
44、符相反商符商符與原碼加減交替法比較與原碼加減交替法比較真商真商= =假商假商+1.00001+1.00001Q Q0 0.Q.Q1 1Q Q2 2QQn-1n-1(1)1)對第對第n n位商位商( (末位商末位商) )采取恒置采取恒置1 1(2 2)將商符變反)將商符變反n位位5.5.商的校正商的校正上述上商操作只作到小數點后第上述上商操作只作到小數點后第n-1位,位,差一位商,并且商的符號與實際相反。差一位商,并且商的符號與實際相反。即即假商假商校正:校正:6.6.實例實例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,給出商,給出商Q Q
45、和余數和余數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.11111 -B =00.11111步數步數 條件條件 操作操作 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+1
46、1.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 0 異號異號5 5)+B+B+11.00001+11.0000100.1011000.1011011.1011111.10111步數步數 條件條件 操作操作 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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術課件創意兒童
- 美術學科知識課件講解
- 重大事故隱患治理方案內容口訣
- 幼兒園各崗位安全職責一覽表
- 危險化學品經營事故應急預案
- 生產安全事故報告和處理規定
- 嬰童免疫培訓課件
- 安全生產培訓的收獲和體會
- 結構計算培訓課件
- 計劃免疫規劃培訓課件
- 畫法幾何及工程制圖完整課件
- PST1200U變壓器技術說明書
- 園藝設施的規劃設計與建設
- 2023年副主任醫師(副高)-衛生管理(副高)考試歷年真題摘選帶答案
- 2023年內蒙古生物學業水平測試卷
- 湖北省天門市(古稱竟陵縣)東鄉(干一鎮附近)江州義門陳
- 2023年江蘇南京江北新區第二批招考聘用編制內教師100人筆試題庫含答案解析
- 保修管理控制程序
- 《“將軍飲馬”問題》說課稿
- 2023年邵陽市大祥區體育教師招聘筆試題庫及答案
- GB/T 9117-2010帶頸承插焊鋼制管法蘭
評論
0/150
提交評論