<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>主機配件>主板芯片組>

原碼除法運算原理是什么?

2010年04月13日 11:15 www.qd573.com 作者:佚名 用戶評論(0
原碼除法運算原理是什么?
  
  兩個原碼表示的數相除時,商的符號由兩數的符號按位相加求得,商的數值部分由兩數的數值部分相除求得。
  
  設有n位定點小數(定點整數也同樣適用):
  
  被除數x,其原碼為 [x]=xf.xn-1…x10
  
  除數y,其原碼為  [y]=yf.yn-1…y10
  
  則有商q=x/y,其原碼為
  
  [q]=(xf⊕yf)+(0.xn-1…x10/0.yn-1…y10)
  
  商的符號運算qf=xf⊕yf與原碼乘法一樣,用模2求和得到。商的數值部分的運算,實質上是兩個正數求商的運算。根據我們所熟知的十進制除法運算方法,很容易得到二進制數的除法運算方法,所不同的只是在二進制中,商的每一位不是“1”就是“0”,其運算法則更簡單一些。
  
  下面僅討論數值部分的運算。設被除數x=0.1001,除數y=0.1011,模仿十進制除法運算,以手算方法求x÷y的過程如下:

?上面的筆算過程可敘述如下:
  
  1. 判斷x是否小于y?現在x<y,故商的整數位商“0”,x的低位補0,得余數r0。
  
  2. 比較r0和2-1y,因r0>2-1y,表示夠減,小數點后第一位商“1”,作r0-2-1y,得余數r1。
  
  3. 比較r1和2-2y,因r1>2-2y,表示夠減,小數點后第二位商“1”,作r1-2-2y,得余數r2。
  
  4. 比較r2和2-3y,因r2<2-3y,不夠減,小數點后第三位商“0”,不作減法,得余數r3(=r2)。
  
  5. 比較r3和2-4y,因r3>2-4y,表示夠減,小數點后第四2位商“1”,作r3-2-4y,得余數r4,共求四位商,至此除法完畢。
  
  在計算機中,小數點是固定的,不能簡單地采用手算的辦法。為便于機器操作,使“除數右移”和“右移上商”的操作統一起來。
  
  事實上,機器的運算過程和人畢竟不同,人會心算,一看就知道夠不夠減。但機器卻不會心算,必須先作減法,若余數為正,才知道夠減;若余數為負,才知道不夠減。不夠減時必須恢復原來的余數,以便再繼續往下運算。這種方法稱為恢復余數法。要恢復原來的余數,只要當前的余數加上除數即可。但由于要恢復余數,使除法進行過程的步數不固定,因此控制比較復雜。實際中常用不恢復余數法,又稱加減交替法。其特點是運算過程中如出現不夠減,則不必恢復余數,根據余數符號,可以繼續往下運算,因此步數固定,控制簡單。
  
  早期計算機中,為了簡化結構,硬件除法器的設計采用串行的1位除法方案。即多次執行“減法—移位”操作來實現,并使用計數器來控制移位次數。由于串行除法器速度太慢,目前已被淘汰。

  得x÷y的商q=0.1101,余數為r=0.00000001。

非常好我支持^.^

(152) 14.5%

不好我反對

(895) 85.5%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
      <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
      <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
      <acronym id="s8ci2"></acronym>
      <acronym id="s8ci2"><center id="s8ci2"></center></acronym>