當前位置:編程學習大全網 - 行動軟體 - 怎麽理解Booth算法

怎麽理解Booth算法

布思算法(booth

algorithm)的簡單理解方法:

由於是第壹次接觸,對於其原理卻壹無所知,書上的解釋以及網上的文章不知是自己才疏學淺還本來就是泛泛而談,沒有讓我了解其本質。經過長時間的思考分析,最終找到了壹種比較簡單的理解方法。

舉壹個簡單的例子,比如說計算×,在這裏首先將乘數改寫為 -

-

---------------------------------------------------

這樣根據乘法分配律得×=×(0100)

類似於booth算法的重新編碼形式,再將上述算式改寫為

×=×0+1

+ × -1 0

最終再將上式合並到壹起,可得由booth算法改寫後的編碼形式: × 0+10000-10

由此可見,乘數的數段"01"可以重新編碼為“+1”,數段“10”可以重新編碼為“-1”,數段“11”可重新編碼為“0”

根據無符號二進制數乘法的過程可知,當乘數段為“00”只是對乘數進行了右移操作,故重新編碼為“0”

由於上述推導過程是根據二進制數加減以及乘法分配律推導而來的,故對於由補碼表示的負數乘法同樣適用

  • 上一篇:哪款高跟鞋,女人這輩子必須擁有壹雙?
  • 下一篇:淘寶撿漏群是怎麽回事
  • copyright 2024編程學習大全網