資源描述:
《關(guān)于補(bǔ)碼以及基本的補(bǔ)碼運(yùn)算》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、關(guān)于補(bǔ)碼以及基本的補(bǔ)碼運(yùn)算0.最基本的,補(bǔ)碼怎么得到,這里不討論。以及原碼和補(bǔ)碼的和是0,這個(gè)基礎(chǔ)的結(jié)論,這里不做說(shuō)明。?1.加法的時(shí)候,判斷溢出的方法:當(dāng)兩個(gè)加數(shù)的符號(hào)位相同,且結(jié)果的符號(hào)位與加數(shù)符號(hào)位不同的時(shí)候,則產(chǎn)生了溢出。顯然,兩個(gè)數(shù),如果異號(hào),顯然不會(huì)溢出。溢出,只會(huì)出現(xiàn)在同號(hào)的情況,則有上面的結(jié)論。?2.補(bǔ)碼也是有權(quán)碼。假如總共有n個(gè)比特,除最高位(符號(hào)位)以外,每一位的權(quán)值為2^i。而最高位的權(quán)值是-2^(n-1)!注意是負(fù)的!這一點(diǎn)很好理解:原碼和補(bǔ)碼的和是2^n,由于總共的位數(shù)只有n位,因此和的結(jié)果是
2、0,因此補(bǔ)碼的最高位權(quán)值就是負(fù)的。?3.有符號(hào)數(shù)的乘法(補(bǔ)碼的乘法),例子-5*-3:????1011????1101-----------????00000???11011-----------???111011???00000-----------??1111011??11011------------??11100111??00101-------------??00001111有符號(hào)數(shù)的乘法與無(wú)符號(hào)數(shù)的乘法的區(qū)別在于:a.在做每一位的乘法的時(shí)候,都要做一個(gè)位擴(kuò)展,即擴(kuò)展符號(hào)位。如上的例子,第一步做1011*1的
3、結(jié)果是11011,擴(kuò)展了一位符號(hào)位1。道理很簡(jiǎn)單,因?yàn)檫@一步的結(jié)果要和下一步做一個(gè)加法,而下一步的加數(shù)的位寬較現(xiàn)在這一步位寬要寬一位,而加法發(fā)生在位寬相同的兩個(gè)數(shù)之間,因此要做一個(gè)符號(hào)位的擴(kuò)展。b.最高位的乘法與其他位稍有不同。因?yàn)樽罡呶坏臋?quán)值是-2^(n-1),所以乘法的結(jié)果要做一個(gè)取反加一的操作。如上例,1011*1(最高位的1),結(jié)果是11011(做符號(hào)位擴(kuò)展),然后做一個(gè)取反加一的操作,得到例子中的00101。?4.有符號(hào)數(shù)的除法:先將有符號(hào)數(shù)取絕對(duì)值,做無(wú)符號(hào)數(shù)的除法,得到結(jié)果,最后根據(jù)被除數(shù)和除數(shù)的符號(hào),確
4、定商以及余數(shù)的符號(hào)。2.3.2補(bǔ)碼乘法[1]http://www.csaiky.com 作者:pz整理 來(lái)源:網(wǎng)絡(luò) 2010年4月2日 發(fā)表評(píng)論 進(jìn)入社區(qū)2.3.2補(bǔ)碼乘法 1.補(bǔ)碼與真值得轉(zhuǎn)換公式 補(bǔ)碼乘法因符號(hào)位參與運(yùn)算,可以完成補(bǔ)碼數(shù)的“直接”乘法,而不需要求補(bǔ)級(jí)。這種直接的方法排除了較慢的對(duì)2求補(bǔ)操作,因而大大加速了乘法過(guò)程. 首先說(shuō)明與直接的補(bǔ)碼乘法相聯(lián)系數(shù)學(xué)特征。對(duì)于計(jì)算補(bǔ)碼數(shù)的數(shù)值來(lái)說(shuō),一種較好的表示方法是使補(bǔ)碼的位置數(shù)由一個(gè)帶負(fù)權(quán)的符號(hào)和帶正權(quán)的系數(shù)。今考慮一個(gè)定點(diǎn)補(bǔ)碼整數(shù)[N]補(bǔ)=a
5、nan-1…a1a0,這里an是符號(hào)位。根據(jù)[N]補(bǔ)的符號(hào),補(bǔ)碼數(shù)[N]補(bǔ)和真值N的關(guān)系可以表示成: 如果我們把負(fù)權(quán)因數(shù)-2n強(qiáng)加到符號(hào)位an上,那么就可以把上述方程組中的兩個(gè)位置表達(dá)式合并成下面的統(tǒng)一形式:??????(2.29) [例19]已知:[N1]補(bǔ)=(01101)2,[N2]補(bǔ)=(10011)2,求[N1]補(bǔ),[N2]補(bǔ)具有的數(shù)值?! 解:] [N1]補(bǔ)=(01101)2具有的數(shù)值為: N1=-0×24+1×23+1×22+0×21+1×20=(+13)10 [N2]補(bǔ)=(100
6、11)2具有的數(shù)值為: N2=-1×24+0×23+0×22+1×21+1×20=(-13)102.3.2補(bǔ)碼乘法[2]http://www.csaiky.com 作者:pz整理 來(lái)源:網(wǎng)絡(luò) 2010年4月2日 發(fā)表評(píng)論 進(jìn)入社區(qū)???2.一般化的全加器形式 常規(guī)的一位全加器可假定它的3個(gè)輸入和2個(gè)輸出都是正權(quán)。這種加法器通過(guò)把正權(quán)或負(fù)權(quán)加到輸入/輸出端,可以歸納出四類加法單元。如右表,0類全加器沒有負(fù)權(quán)輸入;1類全加器有1個(gè)負(fù)權(quán)輸入和2個(gè)正權(quán)輸入;依次類推。 對(duì)0類、3類全加器而言有: ???S=
7、XYZ+XYZ+XYZ+XYZ???C=XY+YZ+ZX 對(duì)1類、2類全加器,則有???S=XYZ+XYZ+XYZ+XYZ???C=XY+XZ+YZ表2.3四類一般化全加器的名稱和邏輯符號(hào)2.3.2補(bǔ)碼乘法[3]http://www.csaiky.com 作者:pz整理 來(lái)源:網(wǎng)絡(luò) 2010年4月2日 發(fā)表評(píng)論 進(jìn)入社區(qū)???注意,0類和3類全加器是用同一對(duì)邏輯方程來(lái)表征的,它和普通的一位全加器(0類)是一致的。這是因?yàn)?類全加器可以簡(jiǎn)單地把0類全加器的所有輸入輸出值全部反向來(lái)得到,反之亦然。1類和2類全加器之間
8、也能建立類似的關(guān)系。由于邏輯表達(dá)式具有兩級(jí)與一或形式,可以用“與或非”門來(lái)實(shí)現(xiàn),延遲時(shí)間為2T。2.3.2補(bǔ)碼乘法[4]http://www.csaiky.com 作者:pz整理 來(lái)源:網(wǎng)絡(luò) 2010年4月2日 發(fā)表評(píng)論 進(jìn)入社區(qū)???3.直接補(bǔ)碼陣列乘法器 利用混合型的全加器就可以構(gòu)成直接補(bǔ)碼數(shù)陣列乘法器。設(shè)被乘數(shù)A和乘數(shù)