《微機(jī)原理教案3》由會(huì)員分享,可在線閱讀,更多相關(guān)《微機(jī)原理教案3(30頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊以編輯,母版標(biāo)題樣式,單擊以編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,碼制,原碼、反碼與補(bǔ)碼,第三講 計(jì)算機(jī)中的數(shù)制和碼制,主要內(nèi)容,一、機(jī)器數(shù)與真值,二、無(wú)符號(hào)數(shù)與有符號(hào)數(shù),三、有符號(hào)數(shù)的表示,原碼,反碼,補(bǔ)碼,一、機(jī)器數(shù)與真值(,1,),真值:,實(shí)際的數(shù)值(包括正負(fù)號(hào))叫做,真值,。,如,:,+35,,,-1001110,B,,,-100101B,一、機(jī)器數(shù)與真值(,2,),機(jī)器數(shù),:,機(jī)器數(shù),:數(shù)在計(jì)算機(jī)中的表示;,在計(jì)算機(jī)中,數(shù)只能用二進(jìn)制表示,符號(hào)也用二進(jìn)制數(shù)位表示;,是存放在寄存器或儲(chǔ)存單元中的。,例如:,10000111,,,11001001,,,01100011
2、,二、無(wú)符號(hào)數(shù)與有符號(hào)數(shù),無(wú)符號(hào)數(shù):,全部二進(jìn)制均代表數(shù)值,沒(méi)有符號(hào)位。,有符號(hào)數(shù):,用最高位作為符號(hào)位,“,0”,代表“,+”,,“,1”,代表“,-,”,;其余數(shù)位用作數(shù)值位,代表數(shù)值。,如:,+35,化為有符號(hào)機(jī)器數(shù),+,35,+,100011,B,0100011,轉(zhuǎn)換為,二進(jìn)制,化成有符號(hào)數(shù),(,00100011,),(,0000000000100011,),8位,16,位,三、有符號(hào)數(shù)的表示,原碼,反碼,補(bǔ)碼,1,、原碼,真值用二進(jìn)制表示后,數(shù)的數(shù)值部分不變,在符號(hào)位上用“,0”,和“,1”,分別表示數(shù)的符號(hào)“,+”,和“,-,”,。,X,的原碼一般表示為,X,原,如,:,+,100
3、1001,-,1100100,01001001,11100100,x,x,原,2,、反碼,正數(shù),的反碼:與原碼相同;,負(fù)數(shù),的反碼:符號(hào)位為“,1”,,數(shù)值位按位取反。,X,的反碼一般表示為,X,反,如:,+,1001001,-,1100100,01001001,10011011,x,x,反,3,、補(bǔ)碼,引入補(bǔ)碼的目的,引入的思路,補(bǔ)碼,的求法,補(bǔ)碼的作用與效果,幾點(diǎn)說(shuō)明,溢出,補(bǔ)碼,引入補(bǔ)碼的目的,將加、減運(yùn)算簡(jiǎn)化為單純的相加運(yùn)算,以便于在計(jì)算機(jī)中實(shí)現(xiàn)各種運(yùn)算,。,補(bǔ)碼,引入的思路(,1,),由鐘表?yè)鼙磲樀姆椒ǖ玫絾⑹荆?例如:把表上的,8,點(diǎn)鐘改為,6,點(diǎn)鐘,方法二:,順時(shí)針撥,10,格,
4、方法一:,反時(shí)針撥,2,格,補(bǔ)碼,引入的思路(,2,),撥針?lè)椒ㄐ〗Y(jié):,8,-,2,=6,8+,10,=6,思考,:為什么會(huì)出現(xiàn)這種現(xiàn)象?計(jì)算機(jī)中是否也有這種現(xiàn)象?,(,表盤是圓的,可循環(huán)計(jì)時(shí)。,),方法二:,順時(shí)針撥,10,格,方法一:,反時(shí)針撥,2,格,補(bǔ)碼,引入的思路(,3,),計(jì)算機(jī)儲(chǔ)存一個(gè)數(shù)也有與鐘表相同的特點(diǎn):,循 環(huán) 計(jì) 數(shù),因此對(duì)于計(jì)算機(jī),要計(jì)算像,8,-,2,這樣的減法式子,也可以化為加法形式來(lái)進(jìn)行。,思考,:在計(jì)算機(jī)中,8,-,2,是否也可以化為,8+10,?,如果不行,那么應(yīng)化為什么樣的式子?,補(bǔ)碼,引入的思路(,4,),不同之處,:,表計(jì)時(shí)的最大數(shù)是,12,計(jì)算機(jī)計(jì)數(shù)的
5、最大數(shù)不是,12,(,思考,:那么是多少呢?),我們把這個(gè)數(shù)稱為,模,計(jì)算機(jī)的模與字長(zhǎng)有關(guān)。,8,位機(jī)的模是,2,8,=256,n位,模,=12,模,=,2,n,補(bǔ)碼,引入的思路(,5,),觀察鐘表?yè)茚樀膬煞N方法:,8,-,2,=6,8+,10,=6,我們可以看出,減去一個(gè)數(shù),a,相當(dāng)于加上(,模,-,a,),一樣,而在計(jì)算機(jī)中也有相同情況。,在,8,位字長(zhǎng)的計(jì)算機(jī)中,減去一個(gè)數(shù),a,相當(dāng)于加上(,2,8,-,a,),一樣。,我們稱(,2,8,-,a,)為,a,的,補(bǔ)數(shù),,其二進(jìn)制表示形式稱為,補(bǔ)碼,。,補(bǔ)碼,補(bǔ)碼的求法(,1,),正數(shù):與原碼相同;,負(fù)數(shù),:“,求反加一,”,例:,x=+10
6、01100B,,,則,x,補(bǔ),=01001100,B=x,原,x=,-,1001100B,,則,x,補(bǔ),=10110100,B,x=,-,1001100,時(shí),,x,補(bǔ),=2,8,-,1001100B,=256,-,1001100B,=255,-,1001100B+1,=11111111B,-,1001100B+1,=10110100B,11111111,01001100,10110011,1,10110100,求反,加,1,補(bǔ)碼,補(bǔ)碼的求法(,2,),對(duì)于負(fù)數(shù)的補(bǔ)碼求法,還有另一個(gè)更快速的辦法:,符號(hào)位為,1,,真值中最后一個(gè),1,以前的各位按位求反,而最后一個(gè),1,及其后的,0,保持不變。,
7、11111111,01001100,10110011,1,10110100,符號(hào)位為,1,按位求反,最后一個(gè),1,及其后的,0,不變,補(bǔ)碼,補(bǔ)碼的求法(,3,),課堂練習(xí),1,、求出下列各數(shù)的補(bǔ)碼(,8,位),(1),67,(2)+1011001B,(3),45,10111101,01011001,11010011,補(bǔ)碼,補(bǔ)碼的作用與效果,用補(bǔ)碼表示計(jì)算機(jī)中的數(shù)后,加減運(yùn)算均可統(tǒng)一為加法。,例:,設(shè),x=+0000111,y=+0000100,計(jì)算式子:,x,y,(,先算出,x,補(bǔ),=00000111,-,y,補(bǔ),=,11111100,x,y=x+(,-,y),),+,00000011,1,自
8、然丟失,補(bǔ)碼運(yùn)算:,00000111,x,補(bǔ),11111100,-,y,補(bǔ),x-y,補(bǔ),手工驗(yàn)算:,0000111,0000100,-,0000011,x,y,x-y,補(bǔ)碼,幾點(diǎn)補(bǔ)充說(shuō)明(,1,),微機(jī)內(nèi)部,帶符號(hào)數(shù)均用補(bǔ)碼表示。,采用補(bǔ)碼進(jìn)行運(yùn)算后,結(jié)果也是補(bǔ)碼,欲得真值,需作轉(zhuǎn)換。,轉(zhuǎn)換方法,0,開(kāi)頭:將,0,換成“,+”,號(hào),其余數(shù)位不變。,1,開(kāi)頭:,1,換成“,-,”,號(hào),其余,方法,1,:,減,1,求反,方法,2,:,求反加,1,補(bǔ)碼,幾點(diǎn)補(bǔ)充說(shuō)明(,2,),如果已知,x,的,補(bǔ)碼,x,補(bǔ),,則求,-,x,補(bǔ),的方法是:,對(duì),x,補(bǔ),連同符號(hào)位一起求反加,1,例:,已知,+35,的
9、補(bǔ)碼是,00100011,,,則,-35,補(bǔ),=11011101,補(bǔ)碼,幾點(diǎn)補(bǔ)充說(shuō)明(,3,),用補(bǔ)碼運(yùn)算時(shí)符號(hào)位也參與運(yùn)算,有符號(hào)數(shù)與無(wú)符號(hào)數(shù)的運(yùn)算是兼容的。,例:,10000110,00011010,+,10100000,二進(jìn)制數(shù)相加,-,122,26,+,-,96,134,26,+,160,看成無(wú)符號(hào)數(shù),看成補(bǔ)碼,出現(xiàn)問(wèn)題,錯(cuò)誤的結(jié)果:,11001011,10010001,01011100,-,0110101,-,1101111,+,-,53,-,111,+,+92,+1011100,-,164,思考:為什么出現(xiàn)了錯(cuò)誤?,補(bǔ)碼,溢出,剛才出現(xiàn)的問(wèn)題叫做,“,溢出,”,;,溢出的原因:,運(yùn)
10、算結(jié)果超出了可表示的有符號(hào)數(shù)的范圍。,溢出只會(huì)出現(xiàn)在兩個(gè)同號(hào)數(shù)相加或兩個(gè)異號(hào)數(shù)相減的情況下。,思考:如何判別溢出與正常進(jìn)位?,補(bǔ)碼,溢出的判別,(1),方法一:轉(zhuǎn)換為真值,判斷是否超出數(shù)值表示范圍。,方法二:根據(jù)最高位的進(jìn)、借位情況進(jìn)行判斷。,溢出:,“,有進(jìn)無(wú)出,”,或,“,無(wú)進(jìn)有出,”,正常:,“,有進(jìn)有出,”,或,“,無(wú)進(jìn)無(wú)出,”,補(bǔ)碼,溢出的判別,(2),10010011,10101101,/-,圖,c,無(wú)進(jìn)有出,00010011,01101101,/-,圖,d,有進(jìn)無(wú)出,溢出,溢出,10010011,11101101,/-,10010011,01001101,/-,圖,a,有進(jìn)有出,
11、圖,b,無(wú)進(jìn)無(wú)出,正常,正常,補(bǔ)碼,溢出的判別,(3),課堂練習(xí),1,、請(qǐng)判斷下列,8,位補(bǔ)碼的運(yùn)算是否會(huì)產(chǎn)生溢出?,11001001,11100111,10110000,有進(jìn)有,出,無(wú)溢出,01100011,01001010,10101101,有,進(jìn)無(wú)出,溢出,補(bǔ) 碼,小 結(jié),真值,機(jī)器數(shù),無(wú)符號(hào)數(shù),有符號(hào)數(shù),原碼,反碼,補(bǔ)碼,補(bǔ)碼的求法,由補(bǔ)碼求真值的方法,已知,x,補(bǔ),求,-,x,補(bǔ)的方,法,補(bǔ)碼的作用,溢出,END,0,0,0,0,0,0,0,0,7,6,5,4,3,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,2,255,0,循環(huán)計(jì)數(shù),