原碼加減交替法
(1)商的符號由參與計算的兩數的符號通過異或運算獲得;
(2)參加運算的兩個數是絕對值的補碼;
(3)原碼上商的原則:若餘數爲正,則商“1”;若餘數爲負,則商“0”;
(4)原碼除法的第一步做減法,即被除數減除數;
簡而言之首先,將兩個數轉換成二進制原碼(若爲十進制的話);然後求原碼的絕對值的補碼;接着將求得的補碼進行減法操作,即加上補碼的絕對值的負數;最後按着上商的原則進行計算,直至商的位數與除數或被除數的位數相同。
補碼加減交替法
(1)商的符號在求值的過程中自然形成;
(2)參加運算的兩個數是補碼;
(3)補碼上商的原則:若餘數與除數同號,則商“1”;若餘數與除數異號,則商“0”;
(4)補碼除法的第一步要根據被除數與除數的符號決定:若兩數同號,則做減法;若兩數異號,則做加法;
例題分析
用原碼陳列除法器計算x÷y,x=11000,y=-11111
解:|x|補=x補=011000,y補=100001,|y|補=011111
x補 0 1 1 0 0 0
+[-|y|補] 1 0 0 0 0 1
——————————
1 1 1 0 0 1 <0 q0=0
左移 1 1 0 0 1 0
+|y|補 0 1 1 1 1 1
——————————
0 1 0 0 0 1 >0 q1=1
左移 1 0 0 0 1 0
+[-|y|補] 1 0 0 0 0 1
——————————
0 0 0 0 1 1 >0 q2=1
左移 0 0 0 1 1 0
+[-|y|補] 1 0 0 0 0 1
——————————
1 0 0 1 1 1 <0 q3=0
左移 0 0 1 1 1 0
+|y|補 0 1 1 1 1 1
——————————
1 0 1 1 0 1 <0 q4=0
左移 0 1 1 0 1 0
+|y|補 0 1 1 1 1 1
——————————
1 1 1 0 0 1 <0 q5=0
+|y|補 0 1 1 1 1 1
——————————
0 1 1 0 0 0
綜上得,
[x÷y]原=1.11000,即=-0.11000,則餘數爲011000。