原碼,反碼,補(bǔ)碼及運(yùn)算

原碼,反碼,補(bǔ)碼及運(yùn)算

ID:14978895

大?。?7.00 KB

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

時(shí)間:2018-07-31

原碼,反碼,補(bǔ)碼及運(yùn)算_第1頁(yè)
原碼,反碼,補(bǔ)碼及運(yùn)算_第2頁(yè)
原碼,反碼,補(bǔ)碼及運(yùn)算_第3頁(yè)
原碼,反碼,補(bǔ)碼及運(yùn)算_第4頁(yè)
原碼,反碼,補(bǔ)碼及運(yùn)算_第5頁(yè)
資源描述:

《原碼,反碼,補(bǔ)碼及運(yùn)算》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、原碼,反碼,補(bǔ)碼及運(yùn)算一、定義  1.原碼  正數(shù)的符號(hào)位為0,負(fù)數(shù)的符號(hào)位為1,其它位按照一般的方法來(lái)表示數(shù)的絕對(duì)值。用這樣的表示方法得到的就是數(shù)的原碼?!  纠?.13】當(dāng)機(jī)器字長(zhǎng)為8位二進(jìn)制數(shù)時(shí):X=+1011011[X]原碼=01011011Y=+1011011[Y]原碼=11011011[+1]原碼=00000001[-1]原碼=10000001[+127]原碼=01111111[-127]原碼=11111111  原碼表示的整數(shù)范圍是:  -(2n-1-1)~+(2n-1-1),其中

2、n為機(jī)器字長(zhǎng)。  則:8位二進(jìn)制原碼表示的整數(shù)范圍是-127~+12716位二進(jìn)制原碼表示的整數(shù)范圍是-32767~+32767  2.反碼  對(duì)于一個(gè)帶符號(hào)的數(shù)來(lái)說(shuō),正數(shù)的反碼與其原碼相同,負(fù)數(shù)的反碼為其原碼除符號(hào)位以外的各位按位取反?!纠?.14】當(dāng)機(jī)器字長(zhǎng)為8位二進(jìn)制數(shù)時(shí):  X=+1011011[X]原碼=01011011[X]反碼=01011011  Y=-1011011[Y]原碼=11011011[Y]反碼=10100100  [+1]反碼=00000001[-1]反碼=111111

3、10  [+127]反碼=01111111[-127]反碼=10000000  負(fù)數(shù)的反碼與負(fù)數(shù)的原碼有很大的區(qū)別,反碼通常用作求補(bǔ)碼過(guò)程中的中間形式。反碼表示的整數(shù)范圍與原碼相同?! ?.補(bǔ)碼  正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼為其反碼在最低位加1。引入補(bǔ)碼以后,計(jì)算機(jī)中的加減運(yùn)算都可以統(tǒng)一化為補(bǔ)碼的加法運(yùn)算,其符號(hào)位也參與運(yùn)算?!  纠?.15】(1)X=+1011011(2)Y=-1011011 ?。?)根據(jù)定義有:[X]原碼=01011011[X]補(bǔ)碼=01011011 ?。?)根據(jù)定

4、義有:[Y]原碼=11011011[Y]反碼=10100100  [Y]補(bǔ)碼=10100101  補(bǔ)碼表示的整數(shù)范圍是-2n-1~+(2n-1-1),其中n為機(jī)器字長(zhǎng)。  則:8位二進(jìn)制補(bǔ)碼表示的整數(shù)范圍是-128~+127(-128表示為10000000,無(wú)對(duì)應(yīng)的原碼和反碼)16位二進(jìn)制補(bǔ)碼表示的整數(shù)范圍是-32768~+32767  當(dāng)運(yùn)算結(jié)果超出這個(gè)范圍時(shí),就不能正確表示數(shù)了,此時(shí)稱為溢出。所以補(bǔ)碼的設(shè)計(jì)目的是:⑴使符號(hào)位能與有效值部分一起參加運(yùn)算,從而簡(jiǎn)化運(yùn)算規(guī)則.⑵使減法運(yùn)算轉(zhuǎn)換為加法

5、運(yùn)算,進(jìn)一步簡(jiǎn)化計(jì)算機(jī)中運(yùn)算器的線路設(shè)計(jì)  4.補(bǔ)碼與真值之間的轉(zhuǎn)換  正數(shù)補(bǔ)碼的真值等于補(bǔ)碼的本身;負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換為其真值時(shí),將負(fù)數(shù)補(bǔ)碼按位求反,末位加1,即可得到該負(fù)數(shù)補(bǔ)碼對(duì)應(yīng)的真值的絕對(duì)值。  【例2.16】[X]補(bǔ)碼=01011001B,[X]補(bǔ)碼=11011001B,分別求其真值X?! 。?)[X]補(bǔ)碼代表的數(shù)是正數(shù),其真值:X=+1011001B=+(1×26+1×24+1×23+1×20)=+(64+16+8+1)=+(89)D  (2)[X]補(bǔ)碼代表的數(shù)是負(fù)數(shù),則真值:X=-([1

6、011001]求反+1)B=-(0100110+1)B=-(0100111)B=-(1×25+1×22+1×21+1×20)=-(32+4+2+1)=-(39)D二、補(bǔ)碼加、減運(yùn)算規(guī)則1、運(yùn)算規(guī)則[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)若已知[Y]補(bǔ),求[-Y]補(bǔ)的方法是:將[Y]補(bǔ)的各位(包括符號(hào)位)逐位取反再在最低位加1即可。例如:[Y]補(bǔ)=101101[-Y]補(bǔ)=0100112、溢出判斷,一般用雙符號(hào)位進(jìn)行判斷:符號(hào)位00表示正數(shù)11表示負(fù)數(shù)結(jié)果的符號(hào)位為01時(shí),

7、稱為上溢;為10時(shí),稱為下溢例題:設(shè)x=0.1101,y=-0.0111,符號(hào)位為雙符號(hào)位用補(bǔ)碼求x+y,x-y[x]補(bǔ)+[y]補(bǔ)=001101+111001=000110[x-y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)=001101+000111=010100結(jié)果錯(cuò)誤,正溢出數(shù)值在計(jì)算機(jī)中表示形式為機(jī)器數(shù),計(jì)算機(jī)只能識(shí)別0和1,使用的是二進(jìn)制,而在日常生活中人們使用的是十進(jìn)制.數(shù)值有正負(fù)之分,計(jì)算機(jī)就用一個(gè)數(shù)的最高位存放符號(hào)(0為正,1為負(fù)).這就是機(jī)器數(shù)的原碼了.假設(shè)機(jī)器能處理的位數(shù)為8.即字長(zhǎng)為1byt

8、e,原碼能表示數(shù)值的范圍為(-127~-0+0~127)共256個(gè).有了數(shù)值的表示方法就可以對(duì)數(shù)進(jìn)行算術(shù)運(yùn)算.但是很快就發(fā)現(xiàn)用帶符號(hào)位的原碼進(jìn)行乘除運(yùn)算時(shí)結(jié)果正確,而在加減運(yùn)算的時(shí)候就出現(xiàn)了問(wèn)題,如下:假設(shè)字長(zhǎng)為8bits(1)10-(1)10=(1)10+(-1)10=(0)10(00000001)原+(10000001)原=(10000010)原=(-2)顯然不正確.因?yàn)樵趦蓚€(gè)整數(shù)的加法運(yùn)算中是沒(méi)有問(wèn)題的,于是就發(fā)現(xiàn)問(wèn)題出現(xiàn)在帶符號(hào)位的負(fù)數(shù)身上,對(duì)除符號(hào)位外的其余各位逐位取反就產(chǎn)生了反碼.反

當(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)系客服處理。