原碼與補碼的加減交替法的區別及例題分析

原碼加減交替法

(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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章