booth算法(補(bǔ)碼乘法).doc

booth算法(補(bǔ)碼乘法).doc

ID:57686691

大?。?5.00 KB

頁(yè)數(shù):2頁(yè)

時(shí)間:2020-09-01

booth算法(補(bǔ)碼乘法).doc_第1頁(yè)
booth算法(補(bǔ)碼乘法).doc_第2頁(yè)
資源描述:

《booth算法(補(bǔ)碼乘法).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、今天看到一種實(shí)現(xiàn)乘法的新算法——BOOTH算法,現(xiàn)在剛剛摸索到算法的本質(zhì),知道為什么這樣做就可以實(shí)現(xiàn)乘法功能。廢話少說(shuō),具體介紹如下:??????布斯(Booth)算法是比較好的帶符號(hào)數(shù)乘法的方法。它采用相加和相減的操作計(jì)算補(bǔ)碼數(shù)據(jù)的乘積。Booth算法對(duì)乘數(shù)從低位開始判斷,根據(jù)兩個(gè)數(shù)據(jù)位的情況決定進(jìn)行加法、減法還是僅僅移位操作。判斷的兩個(gè)數(shù)據(jù)位為當(dāng)前位及其右邊的位(初始時(shí)需要增加一個(gè)輔助位0),移位操作是向右移動(dòng)。???乘法過(guò)程中,被乘數(shù)相對(duì)于乘積的左移操作可表示為乘以2,設(shè)y=y0,yly2…yn為被乘數(shù),x為乘數(shù),每次循環(huán)中的運(yùn)算可表示為對(duì)于x(yi+1-

2、yi)2^(n-i)項(xiàng)的加法運(yùn)算(i=n,n-1,…,1,0)。這樣,Booth算法所計(jì)算的結(jié)果?可表示為:(被乘數(shù)是兩數(shù)相乘的后者,如A×B中的被乘數(shù)是A,但是這里貌似與這個(gè)沒(méi)有關(guān)系)  x×(0-yn)×2^0  +x×(yn-yn-1)×2^1  …  +x×(y1-y0)×2^n  =x×(-y0×2^n+y1×2^(n-1)+y2×2^(n-2)+……+yn×2^0)  =x×y(這里切記一點(diǎn)y0是符號(hào)位)Booth算法表示如下表所示。在Booth算法中,操作的方式取決于表達(dá)式(yi+1-yi)的值,這個(gè)表達(dá)式的值所代表的操作為:  0??無(wú)操作  +

3、1??加x  -1???減x  Booth算法操作表示  yiyi+1???操作?????說(shuō)明  0??0???????無(wú)???????處于0串中,不需要操作  0??1???????加x?????1串的結(jié)尾?  1??0???????減x?????1串的開始?  1??1??????無(wú)???????處于1串中,不需要操作例:用Booth算法計(jì)算2×(-3)?! 〗猓篬2]補(bǔ)=0010,[-3]補(bǔ)=1101,在乘法開始之前,R0和R1中的初始值為0000和1101,R2中的值為0010?! ≡诔朔ǖ牡谝粋€(gè)循環(huán)中,判斷R1的最低位和輔助位為10,所以進(jìn)入步驟1c,

4、將R0的值減去R2的值,結(jié)果1110送人R0,然后進(jìn)入第二步,將R0和Rl右移一位,R0和R1的結(jié)果為1111、0110,輔助位為l?! ≡诘诙€(gè)循環(huán)中,首先判斷Rl的最低位和輔助位為0l,所以進(jìn)入步驟1b,作加法,R0+R2=1111+0010,結(jié)果0001送入R0,這時(shí)R0R1的內(nèi)容為00010110,在第二步右移后變?yōu)?0001011,輔助位為0?! ≡诘谌窝h(huán)中,判斷位為10,進(jìn)入步驟lc,R0減去R2,結(jié)果1110送入R0,R1不變;步驟2移位后R0和R1的內(nèi)容為11110101,輔助位為1。  第四次循環(huán)時(shí),因兩個(gè)判斷位為11,所以不作加減運(yùn)算,向

5、右移位后的結(jié)果為11111010,這就是運(yùn)算結(jié)果(—6)。(結(jié)果result={R0,R1})在每次移位都是{R0,R1}同時(shí)移位。用Booth補(bǔ)碼一位乘法計(jì)算2×(-3)的過(guò)程  循環(huán)  步驟  乘積?(R0,?R1,?P)  初始值  000011010  第一次循環(huán)  1c:減0010  111011010  2:右移1位  111101101  第二次循環(huán)  1b:加0010  000101101  2:右移1位  000010110  第三次循環(huán)  1c:減0010  111010110  2:右移1位  111101011  第四次循環(huán)  1a:無(wú)操

6、作  111101011  2:右移1位  111110101

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。