改進波茲算法
改進波茲算法MBA(Modified Booth′s Algorithm)[1]是建立在波茲算法[2]基礎上的。對乘數三位一組的劃分包含了一個重疊位,每一組的三位按表1編碼,並形成一個部分積。由此而產生5個係數:±1、±2、0。在部分積的累加過程中,減法也就是補碼相加。經過編碼以後,通過高低電平信號對符號位進行指示。n位乘數乘以m位被乘數會產生n+m位積。因此累加過程中由於對負數補碼的相加,每個部分積必須把符號位擴展到最高位(第n+m-1位),以此來保證後續運算的正確性。若以8位X×8位Y為例,產生的部分積陣列如圖1所示。由於部分積含有±2X,因此其字長為9位,即A0~A8,第10位A9為符號位。在做減法補碼運算時,其符號位應擴充至最高位(第15位),再加上相應每組最高位,即y1。B、C、D、E也按此規律產生。8位×8位最終產生16位積。
‘或’-‘異或’快速算法處理符號位部分
對符號位擴展陣列單獨處理,邏輯設計則按照下面順序來進行:
(1)若乘數有偶數個位即2k(k=1,2……n),那么就會產生k+1行部分積。在部分積中,有k行符號擴展位,符號擴展位陣列的最大寬度為2k-1個位;若乘數有奇數個位,即2k+1(k=0,1,2......n),那么就會產生k+1行部分積。在部分積中,有k行符號擴展位,符號擴展位陣列的最大寬度為2k個位。
(2) 若編碼結果為負數,那么產生該行的所有符號位都是1,否則都為0。
(3) 除了第0列,對符號位擴展陣列每一列進行奇偶劃分,即第1、3、5……為奇數列,第2、4、6……為偶數列。
(4) 符號位擴展陣列和的偶數位與該列上(從上至下)最後一位相關聯。該陣列和的奇數位等於該列上所涉及位的‘或’運算,偶數位等於與該位相關聯的那位與低一位的奇數列的和位的‘異或’運算,第0位等於第0行的編碼產生的符號信號。
以8位×8位的例子來說明:r0~r6是符號位陣列累加的和位,s0~s3表示陣列第0行到第3行,如圖2所示。
相關詞條
-
雙符號位判決法
計算機運算溢出檢測機制,採用雙符號位,00表示正號,11表示負號。如果進位將會導致符號位不一致,從而檢測出溢出。結果的符號位為01時,稱為上溢;為10時...
-
符號位地震儀
符號位地震儀是一種新型數字地震儀,只記錄地震波的極性符號(正或負),所以又稱一位數字儀。
英文名 具體介紹 -
公差符號
公差等級分為IT01、IT0、IT1、…、IT18共20級,等級依次降低,公差值依次增大。IT表示國際公差。公差等級或公差數值選擇的基本原則是:應使機器...
簡介 尺寸公差 形狀公差 位置公差 現行國家標準 -
符號率
指數據傳輸的速率,與信號的比特率及信道參數有關,單位為MB/S。目前市場上普遍使用的“諾基亞”、“菲力普”、“現代”、“同洲”、“九州”等衛星電視數字解...
簡述 計算公式 符號率設定 -
電磁閥符號
電磁閥符號是指對電磁閥功能進行描述的示意圖,通常套用於氣動系統設計及產品標識上,以供氣動系統設計人員及電磁閥使用者了解產品功能。在設計過程中,常常需要看...
示例及說明 電磁閥符號解釋 -
人民幣符號
人民幣符號為¥。書寫順序為:先寫大寫字母“Y”,再在豎劃上加上二橫,即為“¥”,讀音為:yuán(音:元)。在逐位填寫金額的表格中用阿拉伯數字填寫金額時...
來歷 輸入方法 使用規範 -
位運算符
位操作是程式設計中對位模式按位或二進制數的一元和二元操作。 在許多古老的微處理器上, 位運算比加減運算略快, 通常位運算比乘除法運算要快很多。 在現代架...
簡介 運算方法 套用 注意事項 -
位運算
2 有人會說,計算6 and 11沒有什麼實際意義啊。這一系列的文章就將告訴你,位運算到底可以乾什麼,有些什麼經典套用,以及如何用位運算最佳化你的程式。
運算符號 運算說明 優先權 簡單套用 位運算交換