版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章數(shù)據(jù)的表示、運(yùn)算與校驗(yàn)2.1數(shù)值型數(shù)據(jù)的表示方法2.1.1進(jìn)位計(jì)數(shù)制數(shù)碼:用不同的數(shù)字符號來表示一種數(shù)制的數(shù)值,這些數(shù)字符號稱為數(shù)碼。基:數(shù)制所使用的數(shù)碼的個(gè)數(shù)。權(quán):某數(shù)制各位所具有的值。(相鄰兩位權(quán)值之比等于基數(shù))1.計(jì)算機(jī)中常用的進(jìn)位制1)二進(jìn)制每個(gè)數(shù)位僅允許取0或1兩種值,逢2進(jìn)位,借1當(dāng)2,基數(shù)為2。2)八進(jìn)制所使用的數(shù)碼是8個(gè):0,1…..7,逢8進(jìn)位,借1當(dāng)8,基數(shù)為8,各位的權(quán)是以8為底的冪。3)十六進(jìn)制基為16,所用數(shù)碼為0-9,A-F,共16個(gè),逢16進(jìn)位,借1當(dāng)16,各位的權(quán)是以16為底的冪。4)十進(jìn)制5)二—十進(jìn)制為了解決二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換問題,引入了二—十進(jìn)制,即用四位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)。對二—十進(jìn)制的運(yùn)算可先按二進(jìn)制數(shù)運(yùn)算,如果每位和9,不必修正;如果和9,則作“加六修正”。2.各種進(jìn)位制之間的相互轉(zhuǎn)換1)十進(jìn)制整數(shù)轉(zhuǎn)換位二進(jìn)制整數(shù)?減權(quán)定位法若轉(zhuǎn)換后的二進(jìn)制代碼序列為XnXn-1…X1X0,則從高位起將十進(jìn)制數(shù)依次與二進(jìn)制數(shù)各位的權(quán)值進(jìn)行比較。若夠減,則對應(yīng)位Xi=1,減去該位權(quán)值后繼續(xù)往下比較;若不夠減,則對應(yīng)位Xi=0,越過該位后繼續(xù)往下比較;如此反復(fù)進(jìn)行,直到所有二進(jìn)制位的位權(quán)都比較完畢為止。(116)10=(1110100)2?除基取余將十進(jìn)制整數(shù)除以2,所得余數(shù)作為對應(yīng)的二進(jìn)制數(shù)低位的值;繼續(xù)對商除以2,所得的各次余數(shù)就是二進(jìn)制數(shù)的各位值;如此進(jìn)行直到商等于0為止。2)十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)?減權(quán)定位法(0.635)10=(0.101…)2?乘基取整將待轉(zhuǎn)換的二進(jìn)制小數(shù)乘以基數(shù)2,所得的整數(shù)部分就是二進(jìn)制小數(shù)的高位值;繼續(xù)對所余小數(shù)部分乘以基數(shù)2,所得的整數(shù)部分就是次高位的值,如此繼續(xù),直到乘積的小數(shù)部分已為0,或以滿足所需精度要求為止。3)二進(jìn)制整數(shù)轉(zhuǎn)換位十進(jìn)制整數(shù)?按權(quán)相加(1011)2=(11)10?逐次乘基相加法從二進(jìn)制的最高位開始,乘以基數(shù)2,然后與次高位,也就是相鄰低位相加;所的結(jié)果再乘以基數(shù)2,再與相鄰低位相加;如此繼續(xù),直到加上最低位為止。4)二進(jìn)制小數(shù)轉(zhuǎn)換位十進(jìn)制小數(shù)?按權(quán)相加(0.1011)2=(0.6875)10?逐次除基相加從二進(jìn)制的最低位開始,除以基數(shù)2之后與次低位(也就是相鄰高位)相加,所的結(jié)果再除以基數(shù)2,繼續(xù)與相鄰高位位相加,再除以2;如此繼續(xù),直到與小數(shù)點(diǎn)后的第一位相加并除以2為止。2.1.2帶符號數(shù)的表示真值:用正負(fù)號加絕對值表示的數(shù)值。機(jī)器數(shù):在計(jì)算機(jī)內(nèi)部,連同數(shù)符一起數(shù)碼化了的數(shù)。1.原碼表示法讓數(shù)碼序列的最高位為符號位,符號位為0表示該數(shù)為正,為1表示該數(shù)為負(fù)。定義如下:1)定點(diǎn)小數(shù)的原碼序列為X0.X1X2…Xn[X]原=X0X11-X=1+|X|-1X0計(jì)數(shù)制符號數(shù)字化編碼2)定點(diǎn)整數(shù)的原碼序列為XnXn-1
…X1X03)結(jié)論:?真值0有+0和-0之分。?對于小數(shù)原碼,表示范圍-1
X1對于整數(shù)原碼,表示范圍-2n
X2n?符號位不是數(shù)值的一部分,是人為地約定“0正1負(fù)”[X]原=X0X2n2n-X=2n+|X|-2n
X02.補(bǔ)碼表示法1)補(bǔ)碼定義?統(tǒng)一定義為:[X]補(bǔ)=M+X(modM)正數(shù)模舍去,負(fù)數(shù)模減去真值的絕對值。?定點(diǎn)小數(shù)補(bǔ)碼序列為X0.X1X2…Xn,則定義為:[X]補(bǔ)=X0X12+X=2-|X|-1X0例:x=-0.1011[x]補(bǔ)=10+x=10.0000-0.1011=1.0101y=-0.01111[y]補(bǔ)=10+y=10.00000-0.01111=1.10001?定點(diǎn)整數(shù)序列XnXn-1
…X1X0,則定義為:[X]補(bǔ)=X0X2n2n+1+X=2n+1-|X|-2n
X02)由真值、原碼轉(zhuǎn)換為補(bǔ)碼?正數(shù)補(bǔ)碼表示與原碼相同?負(fù)數(shù)原碼轉(zhuǎn)換為補(bǔ)碼方法有二:#“變反加1”符號位保持為1不變,其余各位先變反,然后在末位加1。#符號位保持為1不變,尾數(shù)部分自低位向高位,第一個(gè)1及其以前的各低位0都保持不變,以后的各位則按位變反。例:若X=0.1011,則8位字長的[X]補(bǔ)=0.1011000若X=-0.1011,則8位字長的[X]補(bǔ)=1.0101000若X=1011,則8位字長的[X]補(bǔ)=00001011若X=-1011,則8位字長的[X]補(bǔ)=111101013)由補(bǔ)碼表示轉(zhuǎn)換為原碼與真值對于正數(shù):[X]原=[X]補(bǔ)對于負(fù)數(shù):[X]原=[[X]補(bǔ)]補(bǔ)4)已知[X]補(bǔ)求[-X]補(bǔ)對于[X]補(bǔ)連同符號位一起各位變反末尾加15)算術(shù)移位,左移可由[X]補(bǔ)求2[X]補(bǔ)、4[X]補(bǔ);右移可由[X]補(bǔ)求[X]補(bǔ)/2
、[X]補(bǔ)/46)變相補(bǔ)碼(雙符號補(bǔ)碼)為了防止溢出而設(shè)定(3)移位規(guī)則(1)單符號位:0011101110
(2)雙符號位:001110
000111正數(shù)補(bǔ)碼和原碼的移位規(guī)則左移右移右移0
01110
0011左移左移右移右移011100
00
111000
0111數(shù)符不變(單:符號位不變;雙:第一符號位不變)??瘴谎a(bǔ)0(右移時(shí)第二符號位移至尾數(shù)最高位)。(3)移位規(guī)則(1)單符號位:1101110110
(2)雙符號位:101100
110110負(fù)數(shù)補(bǔ)碼移位規(guī)則左移右移右移1
10111
1101左移右移右移11
011011
1011數(shù)符不變(單:符號位不變;雙:第一符號位不變)。左移空位補(bǔ)0(第二符號位移至尾數(shù)最高位)。右移空位補(bǔ)16)討論:補(bǔ)碼最高位作為符號位,“0正1負(fù)”,但補(bǔ)碼的符號位是數(shù)值的一部分。補(bǔ)碼表示中,數(shù)值0只有一種表示。負(fù)數(shù)補(bǔ)碼的表示范圍比原碼稍寬一些,即多一種組合。補(bǔ)碼可實(shí)現(xiàn)化減為加。3.反碼表示法正數(shù)的反碼表示與原碼相同;負(fù)數(shù)反碼的符號位為1,尾數(shù)由原碼尾數(shù)逐位變反。定點(diǎn)小數(shù)反碼序列為X0.X1X2…Xn,則定義為:定點(diǎn)整數(shù)的反碼序列XnXn-1
…X1X0,則定義為[X]反=X0X1(2-2-n)+X-1X0[X]反=X0X2n(2n+1-1)+X-2n
X04.移碼(增碼)設(shè)定點(diǎn)整數(shù)移碼序列為Xm…
X2X1X0,則定義為:[x]移=2m+X-2mX2m結(jié)論:最高位為符號位,1正0負(fù)零的移碼是唯一的1000…000,除符號位外,移碼各位與補(bǔ)碼同用移碼表示便于比較數(shù)的大小,移碼大真值就大,移碼小真值就小。將十進(jìn)制真值(-127,-1,0,+1,+127)列表表示成二進(jìn)制數(shù)及原碼、反碼、補(bǔ)碼、移碼值。2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示1.定點(diǎn)表示法在計(jì)算機(jī)中小數(shù)點(diǎn)的位置固定不變的數(shù)叫做定點(diǎn)數(shù)。1)無符號定點(diǎn)整數(shù)略去符號位的正整數(shù),小數(shù)點(diǎn)位于最低位之后,實(shí)際是不存在的。若無符號定點(diǎn)整數(shù)的代碼序列為XnXn-1…
X1X0,則有:最大整數(shù)2n+1-1111….11最小非零正數(shù)1000…01表示范圍0---2n+1-1;分辨率12)帶符號定點(diǎn)整數(shù)原碼定點(diǎn)整數(shù)表示范圍:-(2n-1)~(2n-1)補(bǔ)碼定點(diǎn)整數(shù)表示范圍:-2n~(2n-1)分辨率均為13)帶符號定點(diǎn)小數(shù)原碼定點(diǎn)小數(shù)表示范圍:-(1
–2-n)~(1
–2-n)補(bǔ)碼定點(diǎn)小數(shù)表示范圍:-1~(1
–2-n)分辨率均為:
2-n以定點(diǎn)整數(shù)為例,用數(shù)軸形式說明原碼、反碼、補(bǔ)碼表示范圍和可能的數(shù)碼組合情況。設(shè)機(jī)器字長16位,定點(diǎn)表示,尾數(shù)15位,數(shù)符1位,問:(1)定點(diǎn)原碼整數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少?(2)定點(diǎn)原碼小數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少?(1)定點(diǎn)原碼整數(shù)表示最大正數(shù)值=(215-1)10=(+32767)10最小負(fù)數(shù)值=-(215-1)10=(-32767)10(2)定點(diǎn)原碼小數(shù)表示最大正數(shù)值=(1-2-15)10=(+0.111...11)2最小負(fù)數(shù)值=-(1-2-15)10=(-0.111..11)2關(guān)于比例因子的設(shè)置。(1.1100+1.1000)2.浮點(diǎn)表示法1)浮點(diǎn)數(shù)的格式N=RE×MN為真值,RE為比例因子,M為尾數(shù)Mn…M2M1MfEm…E2E1Ef階碼E階符數(shù)符尾數(shù)ME為正,尾數(shù)M擴(kuò)大若干倍,E為負(fù),尾數(shù)M縮小若干倍;R是階碼的底,與尾數(shù)的基相同。階碼二進(jìn)制位數(shù)決定浮點(diǎn)數(shù)的表示范圍,尾數(shù)二進(jìn)制位數(shù)決定浮點(diǎn)數(shù)的精度
為了充分利用尾數(shù)部分的有效位數(shù),一般采取規(guī)格化的約定,當(dāng)R=2時(shí),規(guī)格化的含義是滿足條件1/2|M|1。對于正數(shù)和原碼表示的負(fù)數(shù),規(guī)格化的特征是M1=1;對于用補(bǔ)碼表示的負(fù)數(shù),除-1/2這個(gè)特例(1.1000…0)外,規(guī)格化的特征M1=0。若浮點(diǎn)數(shù)的格式如下,階碼部分m+1位,含一位階符,補(bǔ)碼表示,以2為底;尾數(shù)部分n+1位,含一位數(shù)符,補(bǔ)碼表示規(guī)格化,求其典型值(最小的正數(shù)、負(fù)數(shù),最大的正數(shù)和、負(fù)數(shù))。Mn…M2M1MfEm…E2E1Ef階碼E階符數(shù)符尾數(shù)M2.2定點(diǎn)加法、減法運(yùn)算2.2.1補(bǔ)碼加減法用補(bǔ)碼表示的數(shù)進(jìn)行加減運(yùn)算,符號位直接參加運(yùn)算。簡化了加減運(yùn)算方法,化“減”為“加”,實(shí)現(xiàn)硬件簡單。1.基本關(guān)系式
(X+Y)補(bǔ)=X補(bǔ)+Y補(bǔ)
(1)
(X-Y)補(bǔ)=X補(bǔ)+(-Y)補(bǔ)
(2)式(1):操作碼為“加”時(shí),兩數(shù)直接相加。3)X=3Y=–2
X補(bǔ)=00011
Y補(bǔ)=1111000001(+1補(bǔ)碼)2)X=–3Y=–2
X補(bǔ)=11101
Y補(bǔ)=1111011011(–5補(bǔ)碼)1)X=3Y=2
X補(bǔ)=00011
Y補(bǔ)=0001000101(+5補(bǔ)碼)4)X=–3Y=2
X補(bǔ)=11101
Y補(bǔ)=0001011111(–1補(bǔ)碼)例.求(X+Y)補(bǔ)
(X-Y)補(bǔ)=X補(bǔ)+(-Y)補(bǔ)
(2)式(2):操作碼為“減”時(shí),將減轉(zhuǎn)換為加。1)X=4Y=–5
X補(bǔ)=00100
Y補(bǔ)=11011(-Y)補(bǔ)=0010101001(+9補(bǔ)碼)2)X=–4Y=5
X補(bǔ)=11100
Y補(bǔ)=00101(-Y)補(bǔ)=1101110111(–9補(bǔ)碼)例.求(X–Y)補(bǔ)Y補(bǔ)(–Y)補(bǔ):將Y補(bǔ)變補(bǔ)不管Y補(bǔ)為正或負(fù),將其符號連同尾數(shù)一起各位變反,末位加1。即將減數(shù)變補(bǔ)后與被減數(shù)相加。
X補(bǔ)=00100
Y補(bǔ)=11011
X補(bǔ)=11100
Y補(bǔ)=00101注意:某數(shù)的補(bǔ)碼表示與某數(shù)變補(bǔ)的區(qū)別。例.10101原11011補(bǔ)碼表示10011補(bǔ)01101變補(bǔ)例.10101原
1101100101原00101補(bǔ)碼表示符號位不變;
00101原
00101
10101原
1
1011
00101原
00101負(fù)數(shù)尾數(shù)改變,正數(shù)尾數(shù)不變。00011補(bǔ)1110110011補(bǔ)
0110100011補(bǔ)
1110110011補(bǔ)
0110100011補(bǔ)
11101變補(bǔ)符號位改變,尾數(shù)改變。補(bǔ)碼的機(jī)器負(fù)數(shù)2.算法流程操作數(shù)用補(bǔ)碼表示,符號位參加運(yùn)算結(jié)果為補(bǔ)碼表示,符號位指示結(jié)果正負(fù)X補(bǔ)+Y補(bǔ)X補(bǔ)+(-Y)補(bǔ)ADDSUB2.2.2溢出判斷一、溢出判別在什么情況下可能產(chǎn)生溢出?兩正數(shù)加,變負(fù)數(shù),上溢(大于機(jī)器所能表示的最大數(shù))兩負(fù)數(shù)加,變正數(shù),下溢(小于機(jī)器所能表示的最小數(shù))例.數(shù)A有4位尾數(shù),1位符號SA
數(shù)B有4位尾數(shù),1位符號SB符號位參加運(yùn)算如何判斷運(yùn)算結(jié)果產(chǎn)生了溢出?判斷溢出將使用到的信息:操作數(shù)的符號位SA和SB結(jié)果符號Sf符號位進(jìn)位Cf尾數(shù)最高位進(jìn)位C正確0001100010(1)A=3B=23+2:00101(2)A=10B=710+7:010100011110001正溢正確負(fù)溢正確正確(3)A=-3B=-2-3+(-2):110111110111110(4)A=-10B=-7-10+(-7):011111011011001(5)A=6B=-46+(-4):000100011011100(6)A=-6B=4-6+4:111101101000100(2)A=10B=710+7:01010
0011110001(4)A=-10B=-7-10+(-7):0111110110110011.硬件判斷邏輯一(SA、SB與Sf的關(guān)系)溢出=SASBSfSASfSB溢出=CfC溢出=Sf1Sf22.硬件判斷邏輯二(Cf與C的關(guān)系)3.硬件判斷邏輯三(雙符號位)二、舍入方法1.0舍1入(原碼、補(bǔ)碼)000100原
100101原
111011補(bǔ)
2.末位恒置1(原碼、補(bǔ)碼)000100原
111011補(bǔ)
100101原
00010原
10011原
11110補(bǔ)
00011原
10011原
11101補(bǔ)
10011原
11101補(bǔ)
例.保留4位尾數(shù):例.保留4位尾數(shù):三、移位操作1.移位類型邏輯移位:數(shù)碼位置變化,數(shù)值不變。算術(shù)移位
10001111循環(huán)左移:0:數(shù)碼位置變化,數(shù)值變化,符號位不變。1001111算術(shù)左移:1
001
1111011110(-15)(-30)移位寄存器:2.移位邏輯在寄存器中移位(串行接口中)D4D3D2D1D4D3D2右移左移D3D2D1移位門:斜位傳送(運(yùn)算器中)。左斜右斜4312門4門3門2門1移位寄存器移位門加法器2.2.3定點(diǎn)乘法運(yùn)算一、原碼一位乘法
每次用一位乘數(shù)去乘被乘數(shù)。
1.算法分析乘法部分積累加、移位。例.0.1101×1.1011乘積P=X×Y積符SP=SXSYX原Y原每次將一位乘數(shù)所對應(yīng)的部分積與原部分積的累加和相加,并移位。設(shè)置寄存器:
A:存放部分積累加和,最后為乘積高4位
B:存放被乘數(shù)
C:存放乘數(shù)、最后為乘積低4位
設(shè)置初值:
A=00.0000B=X=00.1101C=Y=.1011
步數(shù)條件操作AC00.0000.1011
1)Cn=1+BCn+00.110100.11010.1101×0.101111011101000011010.10001111BC1101
00.01101.1010.1101×0.10112)Cn=1+B+00.110101.001100.100111.100.1101×0.10110.1101×0.101111011101000011010.10001111BC3)Cn=0+0+00.000000.100100.0100111.14)Cn=1+B+00.110101.000100.10001111X原×Y原=1.100011112.算法流程0A、XB、YC、0CRCn=1?CR=n?1/2(A+B)A,C1/2(A+0)A,C
CR+1CRYYNN
Sx+SySA
3.運(yùn)算規(guī)則(1)操作數(shù)和結(jié)果用原碼表示;(2)絕對值運(yùn)算,符號單獨(dú)處理;(3)被乘數(shù)(B)、累加和(A)取雙符號位;(4)乘數(shù)末位Cn為判斷位,其值決定下步操作;(5)若Cn=1,則部分積加B,并右移一位;若Cn=0,則部分積加0,并右移一位;
(6)作n次循環(huán)(累加、右移)。二、補(bǔ)碼一位乘法
1.算法分析
X補(bǔ)=X0.X1X2……Xn(XY)補(bǔ)=X補(bǔ).Y=X補(bǔ).Y補(bǔ)(1)Y為正:Y補(bǔ)=0.Y1Y2……Yn
(XY)補(bǔ)=X補(bǔ)(0.Y1Y2……Yn)(2)Y為負(fù):Y補(bǔ)=1.Y1Y2……Yn
(XY)補(bǔ)=X補(bǔ)(0.Y1Y2……Yn)+(-X)補(bǔ)(3)Y符號任意:
(XY)補(bǔ)=X補(bǔ)(0.Y1Y2……Yn)+(-X)補(bǔ)Y0符號位(4)展開為部分積的累加和形式:(XY)補(bǔ)=X補(bǔ)(0.Y1Y2……Yn)+(-X)補(bǔ)Y0
=X補(bǔ)(0.Y1Y2……Yn)-X補(bǔ)Y0
=X補(bǔ)(-Y0+2Y1+2Y2+……+2Yn)-1
-2
-n
=X補(bǔ)-Y0+(Y1-2Y1)+(2Y2-2Y2)+……-1
-1
-2-(n-1)-n
+(2Yn-2Yn)
=X補(bǔ)(Y1-Y0)+2(Y2-Y1)+2(Y3-Y2)+……-1-2
+2(0-Yn)-n
+2(0-Yn)-nYn+1
=X補(bǔ)
(Y1-Y0)+2(Y2-Y1)+2(Y3-Y2)+……-1-2
+2(0
-Yn)-nYn+1=X補(bǔ).(Yi+1-Yi)2-i)ni=0比較法:用相鄰兩位乘數(shù)比較的結(jié)果決定+X補(bǔ)、-X補(bǔ)或+0。[A0]補(bǔ)=0[A1]補(bǔ)=2-1{[A0]補(bǔ)+(Yn+1-Yn)[x]補(bǔ)}[A2]補(bǔ)=2-1{[A1]補(bǔ)+(Yn-Yn-1)[x]補(bǔ)}……..[An]補(bǔ)=2-1{[An-1]補(bǔ)+(Y2-Y1)[x]補(bǔ)}[XY]補(bǔ)=[An]補(bǔ)+(Y1-Y0)[x]補(bǔ)
2.比較法算法Yn(高位)
Yn+1(低位)操作(A補(bǔ)為部分積累加和)00011011
1/2A補(bǔ)1/2(A補(bǔ)+X補(bǔ))1/2(A補(bǔ)-X補(bǔ))1/2A補(bǔ)(0)(1)(-1)(0)3.運(yùn)算實(shí)例X=-0.1101,Y=-0.1011,求(XY)補(bǔ)。初值:A=00.0000,B=X補(bǔ)=11.0011,-B=(-X)補(bǔ)=00.1101,C=Y補(bǔ)=1.0101步數(shù)條件操作AC00.00001.0101
1)10-BCn+00.110100.110100.011011.01012)01+B+11.001111.100111.1100111.0103)10-B+00.110100.100100.01001111.014)01+B+11.001111.011111.101111111.00
Cn+1CnCn+15)10-B+00.1101(XY)補(bǔ)
=0.1000111100.10001111(1)A、B取雙符號位,符號參加運(yùn)算;(2)C取單符號位,符號參加移位。(3)C末位設(shè)置附加位Cn+1,初值為0,CnCn+1組成判斷位,決定運(yùn)算操作;(4)作n位運(yùn)算,需作第n+1步,最后一步不移位。
4.運(yùn)算規(guī)則5.算法流程0A、[X]補(bǔ)
B、[Y]補(bǔ)
C、0CRYnYn+1=?CR=n+1?[Ai]補(bǔ)不變[Ai]補(bǔ)、Y右移一位,i+1CR00YN1110[Ai]補(bǔ)+[-X]補(bǔ)[Ai]補(bǔ)+[X]補(bǔ)01結(jié)束2.3.4定點(diǎn)除法運(yùn)算手算:除數(shù)右移,夠減商1,相減,不夠減商0,不減例:-0.1001/0.1011商-0.1101,余數(shù)0.00000001計(jì)算機(jī)實(shí)現(xiàn)余數(shù)左移,夠減商1,不夠減商0計(jì)算機(jī)要解決的問題:如何判斷夠減?(先判后減和先減后判)如何處理符號位?如何提高運(yùn)算速度?一、原碼恢復(fù)余數(shù)法1.算法
比較兩數(shù)大小可用減法試探。2×余數(shù)-除數(shù)=新余數(shù)為正:夠減,商1。下一步作ri+1=2ri-Y為負(fù):不夠減,商0,恢復(fù)原余數(shù)。2.實(shí)例X=-0.10110,Y=0.11111,求X/Y,給出商Q和余數(shù)R。設(shè)置:A:被除數(shù)、余數(shù),B:除數(shù),C:商初值:A=X=00.10110
B=Y=00.11111
C=Q=0.00000-B=11.00001步數(shù)條件操作AC00.101100.00000
1)0-B01.01100+11.0000100.011010.000012)1-B00.11010+11.0000111.110110.000103)恢復(fù)余數(shù)+B+00.1111100.1101001.101000.001014)0-B+11.0000100.10101CnSAQ1
Q2
Q3
r02r0r12r1r2’r22r2r3步數(shù)條件操作AC00.101010.00101
5)0-B01.01010+11.0000100.010110.010116)1-B00.10110+11.0000111.101110.101107)恢復(fù)余數(shù)+B+00.1111100.10110Q=-0.10110CnQ4
Q5
Q3
r32r3r42r4r5’r5R=0.10110×2-5X/Y=-0.10110+-0.10110×2-50.111113.說明(1)A、B雙符號位,裝X與Y的絕對值,|X|小于|Y|。(2)若最后一步所得余數(shù)為負(fù),則應(yīng)恢復(fù)余數(shù),以保證r>0。(3)運(yùn)算結(jié)束后,余數(shù)乘以2-n,與被除數(shù)同號。第二步:2r1-B=r2’<0第三步:r2’+B=r2(恢復(fù)余數(shù))第四步:2r2-B=r32r2-B=2(r2’+B)-B=2r2’+B=r3第二步:2r1-B=r2<0第三步:2r2+B=r3(不恢復(fù)余數(shù))二、原碼不恢復(fù)余數(shù)法(加減交替法)1.算法分析恢復(fù)余數(shù)法不恢復(fù)余數(shù)法2.算法取絕對值相除,符號位單獨(dú)處理2)|X|小于|Y|3)根據(jù)余數(shù)符號判斷上商,為正商1,為負(fù)商04)ri+1=2ri+(1-2Qi)Yri為正,則Qi為1,第i+1步作2ri-Y;ri為負(fù),則Qi為0,第i+1步作2ri+Y。5)求n位商,做n步操作;若第n步余數(shù)為負(fù),則做第n+1步恢復(fù)余數(shù),不移位,最終余數(shù)符號與被除數(shù)相同。3.實(shí)例X=0.10110,Y=-0.11111,求X/Y,給出商Q和余數(shù)R。初值:A=X=00.10110
B=Y=00.11111
C=Q=0.00000-B=11.00001步數(shù)條件操作AC00.101100.00000
1)為正-B01.01100+11.0000100.011010.000012)為負(fù)-B00.11010+11.0000111.110110.000103)+B+00.1111111.101100.00101為正00.10101Cn
rfQ1
Q2
Q3
r02r0r12r1r22r2r34)為正-B01.01010+11.0000100.010110.01011Q4
2r3r4步數(shù)條件操作AC00.010110.01011
6)為負(fù)恢復(fù)余數(shù)+B+00.1111100.10110Q=-0.10110CnQ4
r45)為正-B00.10110+11.0000111.101110.10110Q5
2r4r5’r5R=0.10110×2-5X/Y=-0.10110+0.10110×2-5-0.111114.算法流程|X|A、|Y|B、0
C、0CRA<0?CR=n?YNQ=0,A,C左移,CR+1CR結(jié)束2A-BAQ=1,A,C左移,CR+1CRA+BAA-BAA>0?YYNA+BAN三、補(bǔ)碼不恢復(fù)余數(shù)除法1.算法X補(bǔ)Y補(bǔ)數(shù)符商符第一步操作r補(bǔ)Y補(bǔ)數(shù)符上商下一步操作同號0減同號異號102[ri]補(bǔ)-Y補(bǔ)2[ri]補(bǔ)+Y補(bǔ)異號1加同號異號102[ri]補(bǔ)-Y補(bǔ)2[ri]補(bǔ)+Y補(bǔ)1)第一步操作:被除數(shù)與除數(shù)同號,商1,2*被除數(shù)減除數(shù),被除數(shù)與除數(shù)異號,商0,2*被除數(shù)加除數(shù)。2)余數(shù)和除數(shù)同號,商1,余數(shù)左移1位,下次減除數(shù);余數(shù)和除數(shù)異號,商0,余數(shù)左移1位,下次加除數(shù);3)商的符號在第一次試算時(shí)求出,但僅僅是假商,只是為除法做準(zhǔn)備工作,因此為得到n位商,共作n+1步,第一次上的商移出寄存器,但多數(shù)情況下可以得到n-1位商即可。4)商的修正:在精度要求不高的場合,將商的末尾恒置1,同時(shí)符號位加1,也即是n-1假商加(1+2-n)。3.實(shí)例X=+0.1000,Y=-0.1010,求[X/Y]=?A=X補(bǔ)=00.1000B=Y補(bǔ)=11.0110-B=00.1010C=Q補(bǔ)=0.00002.3.5浮點(diǎn)四則運(yùn)算1.浮點(diǎn)加減運(yùn)算步驟:1).檢查能否簡化操作。
判操作數(shù)是否為0尾數(shù)為0階碼下溢2).對階例.(1)對階:使兩數(shù)階碼相等(小數(shù)點(diǎn)實(shí)際位置對齊,尾數(shù)對應(yīng)權(quán)值相同)。(2)對階規(guī)則:小階向大階對齊。2×0.10012×0.1101232×0.010032×0.110133).尾數(shù)加減.(1)1.0001+0.1001(4)階碼比較:比較線路或減法。(3)對階操作:小階階碼增大,尾數(shù)右移。例.AE>BE,則BE+1BE,BM,直到BE=AE1.1010(2)0.0101+0.1101AM+BMAM4).結(jié)果規(guī)格化
M<1/21.0010
M>1應(yīng)左移規(guī)格化應(yīng)右移規(guī)格化AE-1AE若Af1⊕Af2=1,則右規(guī):(1)11.0001+00.100111.1010(2)00.0101+00.110101.0010(-1/2除外)Af1Af2A1AM11.1010若Af1Af2A1+Af1Af2A1=1,則左規(guī):01.0010Af1Af2AMAE+1AEAE+BEA×B=2×(AM×BM)
2.浮點(diǎn)乘法運(yùn)算步驟:1.檢查操作數(shù)是否為0。2.階碼相加。若階碼用移碼表示,相加后浮點(diǎn)乘定點(diǎn)加、定點(diǎn)乘3.尾數(shù)相乘。相乘前不需對階。設(shè)A=2×AM,B=2×BMAEBE4.結(jié)果規(guī)格化。一般左規(guī)。令A(yù)E=2+X,BE=2+Y,AE+BE=2+2+(X+Y)nnnn-2=2+(X+Y)nn減2
修正。n3.浮點(diǎn)除法運(yùn)算步驟:1.檢查操作數(shù)是否為0。2.AM<BM?浮點(diǎn)除定點(diǎn)減、定點(diǎn)除設(shè)A=2×AM,B=2×BMAEBE令A(yù)E=2+X,BE=2+Y,AE-BE=2-2+(X-Y)=X-Ynnnn+2
n加2
修正。nAE-BEA÷B=2×(AM÷BM)
3.階碼相減。若階碼用移碼表示,相減后4.尾數(shù)相除。相除前不需對階。5.結(jié)果不再規(guī)格化。2.3數(shù)據(jù)校驗(yàn)碼一、碼距碼字:由若干位代碼組成一個(gè)字。兩個(gè)碼字的距離:兩個(gè)碼字逐位比較,其不同字符的個(gè)數(shù)。碼距:各碼字之間的最小距離。在糾錯(cuò)理論中,一個(gè)重要的公式:L-1=C+D且DCL碼距C可以糾錯(cuò)的位數(shù)D可以檢錯(cuò)的位數(shù)二、奇偶校驗(yàn)碼原理:在每組代碼中增加一個(gè)冗余位,使合法編碼的最小碼距由1增加到2,如果合法編碼中有奇數(shù)個(gè)位發(fā)生了錯(cuò)誤,這個(gè)編碼就將成為非法代碼。1.校驗(yàn)碼的構(gòu)成規(guī)則偶校驗(yàn):每個(gè)碼字(包含校驗(yàn)位)中1的數(shù)目為偶數(shù)。奇校驗(yàn):每個(gè)碼字(包含校驗(yàn)位)中1的數(shù)目為奇數(shù)。2.校驗(yàn)位的形成設(shè)被檢測碼為X0X1X2X3…….Xn偶校驗(yàn):在發(fā)送端求校驗(yàn)位P=X0X1X2X3…Xn奇校驗(yàn):在發(fā)送端求校驗(yàn)位P=X0X1X2X3…Xn3、校驗(yàn)原理偶校驗(yàn):在接收端求P’=X0X1X2X3…XnP奇校驗(yàn):在接收端求P’=X0X1X2X3…XnP若P’=0則無錯(cuò),若P’=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編版語文三年級下冊情境化試期末測試題(含答案)
- 山東省煙臺市招遠(yuǎn)市(五四學(xué)制)2024-2025學(xué)年八年級上學(xué)期期末考試語文試卷(含答案)
- 【先學(xué)后教新思路】2020高考物理一輪復(fù)習(xí)-教案39-磁場
- 2022《全程復(fù)習(xí)方略》高考生物一輪復(fù)習(xí):單元評估檢測(四)-必修一第六章細(xì)胞的生命歷程
- 【考前三個(gè)月】2021屆高考物理(安徽專用)專題講練:專題4-萬有引力定律及其應(yīng)用
- 【全程復(fù)習(xí)方略】2020年數(shù)學(xué)文(廣西用)課時(shí)作業(yè):第十一章-第三節(jié)相互獨(dú)立事件同時(shí)發(fā)生的概率
- 五年級數(shù)學(xué)(小數(shù)除法)計(jì)算題專項(xiàng)練習(xí)及答案
- 三年級數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)及答案
- 【全程復(fù)習(xí)方略】2020年高考化學(xué)課時(shí)提能演練(八)-2.4-鐵及其化合物(魯科版-福建專供)
- 《神經(jīng)肌肉促進(jìn)技術(shù)》課件
- 給警察培訓(xùn)急救知識課件
- 少年宮管理制度多篇培訓(xùn)
- 銷售秒殺方案
- 第1課+古代亞非(教學(xué)設(shè)計(jì))【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- 新GCP醫(yī)療器械臨床試驗(yàn)知識試題(附含答案)
- 山西省呂梁市孝義市2023-2024學(xué)年八年級上學(xué)期期末道德與法治試題
- 新生兒出生后的注意事項(xiàng)課件
- 2024年6月廣東省高中學(xué)業(yè)水平考試物理試卷(附答案)
- 親近母語“西游智慧數(shù)學(xué)”系列
- 春節(jié)期間安全告知書
- 國家開放大學(xué)電大本科《古代小說戲曲專題》2024期末試題及答案(試卷號:1340)
評論
0/150
提交評論