




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章運算方法和運算部件3.1數(shù)值的表示方法和轉換3.2帶符號的二進制數(shù)據(jù)在計算機中的表示方 法及加減法運算3.3二進制乘法運算3.4二進制除法運算3.5浮點的運算方法3.6運算部件3.7數(shù)據(jù)校驗碼習題3.1數(shù)據(jù)的表示方法和轉換3.1.1數(shù)值型數(shù)據(jù)的表示和轉換1.數(shù)制任意一個十進制數(shù)(N)10可表示為: (N)10=Dm·10m+Dm-1·10m-1+…+D1·101+D0·100 +D-1·10-1+D-2·10-2+…+D-k·10-k=Di·10i (3.1)
其中,(N)10的下標10表示十進制,該數(shù)共有m+k+1位,且m和k為正整數(shù);Di可以是0~9十個數(shù)碼中的任意一個,根據(jù)Di在式中所處位置而賦以一個固定的單位值10i,稱之為權(Weight)。式中的10稱為基數(shù)或“底”。任意一個二進制數(shù)可表示為: (N)2=Dm·2m+Dm-1·2m-1+…+D1·21+D0·20+D-1·2-1+ D-2·2-2+…+D-k·2-k=Di·2i (3.2) 式中,整數(shù)部分有m+1位,小數(shù)部分有k位,基數(shù)(或底)為2。 二進制數(shù)(N)2按公式展開,可計算得該數(shù)的十進制表示。例3.1 (1101.0101)2=(1·23+1·22+0·21+1·20+0·2-1+1·2-2+0·2-3+1·2-4)10=(8+4+0+1+0+0.25+0+0.0625)10=(13.3125)10為了方便經(jīng)常采用八進制數(shù)或十六進制數(shù)。任意一個八進制數(shù)可表示為: (N)8=Di·8i (3.3)式3.3中Di可為0~7八個數(shù)碼中的任意一個。例3.2 (15.24)8=(1·81+5·80+2·8-1+4·8-2)10 =(8+5+0.25+0.0625)10
=(13.3125)10任意一個十六進制數(shù)可表示為: (N)16=Di·16i (3.4) 式3.4中,Di可以是0~15共十六個數(shù)中的任一個。為書寫和辨認方便,通常用0~9和A~F分別表示十六進制數(shù)0~9和10~15。例3.3 (0D.5)=(0·161+13·160+5·16-1)10 =(0+13+0.3125)10
=(13.3125)10二進制數(shù)、八進制數(shù)、十六進制數(shù)和十進制數(shù)之間的關系見表3.1。表3.1二、八、十六和十進制數(shù)的對應關系二進制數(shù)八進制數(shù)十六進制數(shù)十進制數(shù)00000000000101110010022200110333010004440101055501100666011107771000108810011199101012A10101113B11110014C12110115D13111016E14111117F152.不同數(shù)制間的數(shù)據(jù)轉換(1)二進制數(shù)、八進制數(shù)和十六進制數(shù)之間的轉換由3位二進制數(shù)組成1位八進制數(shù),4位二進制數(shù)組成1位十六進制數(shù)。對于一個兼有整數(shù)和小數(shù)部分的數(shù),以小數(shù)點為界,對小數(shù)點前后的數(shù)分別分組進行處理,不足的位數(shù)用0補足,對整數(shù)部分將0補在數(shù)的左側,對小數(shù)部分將0補在數(shù)的右側。這樣數(shù)值不會發(fā)生差錯。例3.4 (1
101.010
1)2=(001
101.010
100)2=(15.24)8 如從二進制數(shù)轉換到十六進制數(shù),則以4位為1組。例3.5 (1
1101.0101)2=(0001
1101.0101)2=(1D.5)16 八進制數(shù)與十六進制數(shù)之間的轉換,可將二進制數(shù)作為中間媒介進行轉換。(2)二進制數(shù)轉換成十進制數(shù)利用上面講到的公式(N)2=Di·2i進行計算。(3)十進制數(shù)轉換成二進制數(shù) 通常要對一個數(shù)的整數(shù)部分和小數(shù)部分分別進行處理,各自得出結果后再合并。 對整數(shù)部分,一般采用除2取余數(shù)法,規(guī)則如下: 將十進制數(shù)除以2,所得余數(shù)(0或1)即為對應二進制數(shù)最低位的值。然后對上次所得的商除以2,所得余數(shù)即為二進制數(shù)次低位的值,如此進行下去,直到商等于0為止,最后得出的余數(shù)是所求二進制數(shù)最高位的值。例3.7將(105)10轉換成二進制。 2105 余數(shù) 結果 252 1 最低位 226 0 213 0 … 26 1 23 0 21 1 0 1 最高位得出:(105)10=(1101001)2對小數(shù)部分,一般用乘2取整數(shù)法,其規(guī)則如下:將十進制數(shù)乘以2,所得乘積的整數(shù)部分即為對應二進制小數(shù)最高位的值,然后對所余的小數(shù)部分乘以2,所得乘積的整數(shù)部分為次高位的值,如此進行下去,直到乘積的小數(shù)部分為0,或結果已滿足所需精度要求為止。例3.8將(0.3125)10和(0.3128)10轉換成二進制數(shù)(要求4位有效位)。 ①結果0.3125×2
最高位0.6250×2 …1.2500×2 0.5000×2
最低位1.0000
得出:(0.3125)10=(0.0101)2②結果0.3128×2
最高位06256×2 …12512×2 05024×2
最低位10048
得出:(0.3128)10=(0.0101)2 當一個數(shù)既有整數(shù)部分又有小數(shù)部分時,分別進行轉換后再進行拼接,如有數(shù)(105.3125)10,則根據(jù)前面的計算,得出:(105.3125)10=(1101001.0101)2。(4)十進制數(shù)轉換成八進制數(shù) 參照十進制數(shù)轉換成二進制數(shù)的方法,將基數(shù)2改為8,即可實現(xiàn)轉換。例3.9將(13.3125)10轉換成八進制數(shù),處理過程如下:整數(shù)部分轉換 813 余數(shù) 81 5 0 1 (13)10=(15)8得出:(13.3125)10=(15.24)8小數(shù)部分轉換 0.3125×8 2 .5000×8 4 .0000(0.3125)10=(0.24)8
3.數(shù)據(jù)符號的表示 數(shù)據(jù)的數(shù)值通常以正(+)負(-)號后跟絕對值來表示,稱之為“真值”。在計算機中正負號也需要數(shù)字化,一般用0表示正號,1表示負號。正號有時可省略。3.1.2十進制數(shù)的編碼與運算1.十進制數(shù)位的編碼與運算 在計算機中采用4位二進制碼對每個十進制數(shù)位進行編碼。(1)有權碼 表示一位十進制數(shù)的二進制碼的每一位有確定的權。一般用8421碼,其4個二進制碼的權從高到低分別為8、4、2和1。用0000,0001,…,1001分別表示0,1,…,9,每個數(shù)位內部滿足二進制規(guī)則,而數(shù)位之間滿足十進制規(guī)則,故稱這種編碼為“以二進制編碼的十進制(binarycodeddecimal,簡稱BCD)碼”。在計算機內部實現(xiàn)BCD碼算術運算,要對運算結果進行修正,對加法運算的修正規(guī)則是:如果兩個一位BCD碼相加之和小于或等于(1001)2,即(9)10,不需要修正;如相加之和大于或等于(10)10,要進行加6修正,并向高位進位,進位可以在首次相加(例3.10③)或修正時(例3.10②)產生。例3.10① 1+8=9 0001 +1000 1001不需要修正② 4+9=13 0100 +1001 1101 +0110修正
10011
進位
另外幾種有權碼,如2421,5211,4311碼(見表3.2),也是用4位二進制碼表示一個十進制數(shù)位,但4位二進制碼之間不符合二進制規(guī)則。這幾種有權碼有一特點,即任何兩個相加之和等于(9)10的二進制碼互為反碼。例如,在2421碼中,0(0000)與9(1111)、1(0001)與8(1110)、…,互為反碼。表3.24位有權碼十進制數(shù)8421碼2421碼5211碼4311碼00000000000000000100010001000100012001000100011001130011001101010100401000100011110005010110111000011160110110010101011701111101110011008100011101110111091001111111111111(2)無權碼表示一個十進制數(shù)位的二進制碼的每一位沒有確定的權。用得較多的是余3碼(Excess-3Code)和格雷碼(GrayCode),格雷碼又稱“循環(huán)碼”。
余3碼是在8421碼基礎上,把每個編碼都加上0011而形成的(見表3.3),其運算規(guī)則是:當兩個余3碼相加不產生進位時,應從結果中減去0011;產生進位時,應將進位信號送入高位,本位加0011。例3.11(28)10+(55)10=(83)10表3.34位無權碼十進制數(shù)余3碼格雷碼(1)格雷碼(2)0001100000000101000001010020101001101103011000100010401110110101051000111010116100110100011710101000000181011110010019110001001000 0101 1011 (28)10 +)10001 1000 (55)10 1110 0011 低位向高位產生進位, 高位不產生進位。 -)0011+)0011 低位+3,高位-3。 1011 0110 格雷碼的編碼規(guī)則:任何兩個相鄰編碼只有一個二進制位不同,而其余三個二進制位相同。其優(yōu)點是從一個編碼變到下一個相鄰編碼時,只有1位發(fā)生變化,用它構成計數(shù)器時可得到更好的譯碼波形。格雷碼的編碼方案有多種,表3.3給出兩組常用的編碼值。2.數(shù)字串在計算機內的表示與存儲主要有兩種形式:(1)字符形式。即一個字節(jié)存放一個十進制數(shù)位或符號位,存放的是0~9十個數(shù)字和正負號的ASCII編碼值。(2)壓縮的十進制數(shù)形式。用一個字節(jié)存放兩個十進制數(shù)位,既節(jié)省了存儲空間,又便于完成十進制數(shù)的算術運算。其值用BCD碼或ASCII碼的低4位表示。符號位也占半個字節(jié)并放在最低數(shù)字位之后,其值可從4位二進制碼中的6種冗余狀態(tài)中選用。3.2帶符號的二進制數(shù)據(jù)在計算機中的表示方法及加減法運算 在計算機中表示的帶符號的二進制數(shù)稱為“機器數(shù)”。機器數(shù)有三種表示方式:原碼、補碼和反碼。 為討論方便,先假設機器數(shù)為小數(shù),符號位放在最左面,小數(shù)點置于符號位與數(shù)值之間。數(shù)的真值用X表示。3.2.1原碼、補碼、反碼及其加減法運算
1.原碼表示法機器數(shù)的最高位為符號位,0表示正數(shù),1表示負數(shù),數(shù)值跟隨其后,并以絕對值形式給出。這是與真值最接近的一種表示形式。原碼的定義: [X]原= X 0≤X<1 1-X=1+|X| -1<X≤0 (3.5)即[X]原=符號位+|X|。例3.12 X=+0.1011,[X]原=01011; X=-0.1011,[X]原=11011。 由于小數(shù)點位置已默認在符號位之后,書寫時將其省略了。根據(jù)定義,當X=-0.1011時, [X]原=1-(-0.1011)=1.1011。數(shù)值零的真值有+0和-0兩種表示形式,[X]原也有兩種表示形式: [+0]原=00000,[-0]原=10000。數(shù)的原碼與真值之間的關系比較簡單,其算術運算規(guī)則與大家已經(jīng)熟悉的十進制運算規(guī)則類似,當運算結果不超出機器能表示的范圍時,運算結果仍以原碼表示。它的最大缺點是在機器中進行加減法運算時比較復雜。 例如,當兩數(shù)相加時,先要判別兩數(shù)的符號,如果兩數(shù)是同號,則相加;兩數(shù)是異號,則相減。而進行減法運算又要先比較兩數(shù)絕對值的大小,再用大絕對值減去小絕對值,最后還要確定運算結果的正負號。下面介紹的用補碼表示的數(shù)在進行加減法運算時可避免這些缺點。2.補碼表示法機器數(shù)的最高位為符號位,0表示正數(shù),1表示負數(shù),其定義如下:[X]補= X 0≤X<1 2+X=2-|X| -1≤X<0 (3.6)即[X]補=2·符號位+X (mod2)此處2為十進制數(shù),即為二進制的10。例3.13 X=+0.1011, 則[X]補=0.1011 X=-0.1011, 則[X]補=2+X =2+(-0.1011) =1.0101數(shù)值零的補碼表示形式是唯一的,即: [+0]補=[-0]補=0.0000這可根據(jù)補碼定義計算如下: 當X=+0.0000時,[X]補=0.0000。 當X=-0.0000時,[X]補=2+X =10.0000+0.0000 =10.0000=0.0000 mod2當補碼加法運算的結果不超出機器范圍時,可得出以下重要結論:(1)用補碼表示的兩數(shù)進行加法運算,其結果仍為補碼。(2)[X+Y]補=[X]補+[Y]補。(3)符號位與數(shù)值位一樣參與運算。例3.14設X=0.1010,Y=0.0101,兩數(shù)均為正數(shù): [X+Y]補=[0.1010+0.0101]補
=[0.1111]補
=0.1111 [X]補+[Y]補
=0.1010+0.0101=0.1111
即[X+Y]補=[X]補+[Y]補=0.1111例3.15設X=0.1010,Y=-0.0101,X為正,Y為負: [X+Y]補=[0.1010+(-0.0101)]補
=0.0101 [X]補+[Y]補=0.1010+[-0.0101]補
=0.1010+(2-0.0101) =2+0.0101 =0.0101 mod2
即[X+Y]補=[X]補+[Y]補=0.0101例3.16設X=-0.1010,Y=0.0101,X為負,Y為正: [X+Y]補=[-0.1010+0.0101]補
=[-0.0101]補
=1.1011 [X]補+[Y]補 =[-0.1010]補+[0.0101]補 =1.0110+0.0101=1.1011
即[X+Y]補=[X]補+[Y]補=1.1011例3.17設X=-0.1010,Y=-0.0101,X,Y均為負數(shù): [X+Y]補=[-0.1010+(-0.0101)]補
=[-0.1111]補
=1.0001 [X]補+[Y]補=1.0110+1.1011 =10+1.0001 =1.0001 mod2
即:[X+Y]補=[X]補+[Y]補=1.0001在例3.14~例3.17中,包括了X、Y各為正負數(shù)的各種組合,證實了當運算結果不超出機器所能表示的范圍時,[X+Y]補=[X]補+[Y]補。例3.18設X=-0.0000,Y=-0.0000 [X]補+[Y]補=[X+Y]補
=(2+0.0000)+(2+0.0000) =4+0.0000 =0.0000mod2說明兩個負零相加,最后得正零,再次說明了補碼零在機器中的表示形式是唯一的。例3.19設X=-0.1011,Y=-0.0101,則有 [X+Y]補=[X]補+[Y]補
=1.0101+1.1011=11.0000=1.0000 mod2而X+Y的真值=-0.1011+(-0.0101)=-1.0000,為-1。由此說明一個數(shù)的補碼值的范圍在-1和(1-2-n)之間(假設數(shù)值部分為n位)。對于減法運算,因為[X-Y]補=[X+(-Y)]補=[X]補+[-Y]補,所以計算時,可以先求出-Y的補碼,然后再進行加法運算,這樣在用邏輯電路實現(xiàn)加減法運算時,可以只考慮用加法電路,而不必設置減法電路。圖3.1為實現(xiàn)加法運算的邏輯示例。圖3.1實現(xiàn)加法運算的邏輯示例控制信號3.反碼表示法機器碼的最高位為符號,0表示正數(shù),1表示負數(shù)。反碼的定義: [X]反= X 0≤X<1 2-2-n+X -1<X≤0 (3.7)即:[X]反=(2-2-n)·符號位+Xmod(2-2-n),其中,n為小數(shù)點后的有效位數(shù)。例3.20 X=+0.1011(n=4),則[X]反=0.1011 X=-0.1011(n=4),則[X]反=2-2-4+(-0.1011)=1.0100即:當X為正數(shù)時,[X]反=[X]原;當X為負數(shù)時保持[X]原符號位不變,而將數(shù)值部分取反。反碼運算是以2-2-n為模,所以,當最高位有進位而丟掉進位(即2)時,要在最低位+1。例3.21X=0.1011,Y=-0.0100,則有: [X]反=0.1011,[Y]反=1.1011 [X+Y]反=[X]反+[Y]反=[0.1011+1.1011]反=[10.0110]其中,最高位1丟掉,并要在最低位加1。所以 得[X+Y]反=0.0111 mod(2-2-4)。例3.22X=0.1011,Y=-0.1100,則有: [X]反=0.1011,[Y]反=1.0011 [X+Y]反=[0.1011+1.0011]反=1.1110(其真值為-0.0001)反碼零有兩種表示形式: [+0]反=0.0000,[-0]反=1.1111反碼運算在最高位有進位時,要在最低位+1,此時要多進行一次加法運算,增加了復雜性,又影響了速度,因此很少采用。正數(shù)的原碼、補碼和反碼的表示形式是相同的,而負數(shù)則各不相同。4.數(shù)據(jù)從補碼和反碼表示形式轉換成原碼仿照原碼轉換成補碼或反碼的過程再重復執(zhí)行一遍,即可還原成原碼形式。(1)將反碼表示的數(shù)據(jù)轉換成原碼。轉換方法:符號位保持不變,正數(shù)的數(shù)值部分不變,負數(shù)的數(shù)值部分取反。例3.23設[X]反=0.1010,則[X]原=0.1010,真值X=0.1010。例3.24設[X]反=1.1010,則[X]原=1.0101,真值X=-0.0101。(2)將補碼表示的數(shù)據(jù)轉換成原碼。例3.25設[X]補=0.1010,則[X]原=0.1010,真值X=0.1010。例3.26設[X]補=1.1010,則[X]原=1.0110,真值X=-0.0110。(3)原碼和補碼、反碼之間相互轉換的實現(xiàn)。在圖3.1中,給出適當?shù)目刂泼?,即可實現(xiàn)轉換。例3.27[X]原=1.1010,則[X]反=1.0101。[X]反最低位加1,即可得[X]補=1.0110。 在計算機中,當用串行電路按位將原碼轉換成補碼形式時(或反之),經(jīng)常采取以下方法:自低位開始轉換,從低位向高位,在遇到第1個“1”之前,保持各位的“0”不變,第1個“1”也不變,以后的各位按位取反,最后保持符號位不變,經(jīng)歷一遍后,即可得到補碼。
5.整數(shù)的表示形式設X=Xn…X2X1X0,其中Xn為符號位。(1)原碼 [X]原= X 0≤X<2n 2n-X=2n+|X| -2n<X≤0 (3.8)例1AX1=+1010101[X]原=01010101,X2=-1010101[X]原=110101015.整數(shù)的表示形式設X=Xn…X2X1X0,其中Xn為符號位。(2)反碼 [X]反= X 0≤X<2n (2n+1-1)+X -2n<X≤0 (3.10)例2AX1=+1010101[X]反=01010101X2=-1010101[X]反 =28-1+(
-1010101
) =10101010 =101010105.整數(shù)的表示形式設X=Xn…X2X1X0,其中Xn為符號位。(3)補碼 [X]補= X 0≤X<2n 2n+1+X=2n+1-|X| -2n≤X<0 (3.9)例2AX1=+1010101[X]補=01010101,X2=-1010101[X]補=28+(-1010101)=100000000-1010101=10101011或者,數(shù)值部分取反加1:[X]反=10101010,[X]反+1=10101010+1
=10101011 在計算機中,當用串行電路按位將原碼轉換成補碼形式時(或反之),經(jīng)常采取以下方法:自低位開始轉換,從低位向高位,在遇到第1個“1”之前,保持各位的“0”不變,第1個“1”也不變,以后的各位按位取反,最后保持符號位不變,經(jīng)歷一遍后,即可得到補碼。
3.2.2加減法運算的溢出處理 當運算結果超出機器數(shù)所能表示的范圍時,稱為溢出。
一旦溢出,運算結果就不正確了,因此必須將溢出的情況檢查出來。 今以4位二進制補碼正整數(shù)加法運算為例說明如下:例3.28①9+5=14②(-9)+(-5)=-14③12+7=19(溢出) 01001 10111 0
1100 +00101+11011+)0
0111 01110110010 10011④(-12)+(-7)=-19(溢出)⑤14-1=13⑥-14+1=-13
1
0100 01110 10010
1
1001 +11111+)00001
1
01101 101101 10011在上例中,①、②、⑤和⑥得出正確結果,③和④為溢出。今以fA,fB表示兩操作數(shù)(A、B)的符號位,fS為結果的符號位。符號位fA、fB直接參與運算,它所產生的進位以Cf表示。在以2n+1為模的運算中符號位有進位,并不一定表示溢出,在例3.28中的②和⑤即是這種情況。假如我們用C來表示數(shù)值最高位產生的進位,那么C=1也不一定表示溢出,例3.28中的②和⑤仍屬這種情況。究竟如何判斷溢出,實現(xiàn)時有多種方法可供選擇,采用其中一種方法即可,今將判別溢出的幾種方法介紹如下:當符號相同的兩數(shù)相加時,如果結果的符號與加數(shù)(或被加數(shù))不相同,則為溢出例3.28中③和④。即溢出條件=fAfBfS+fAfBfS。在計算機中判溢出的邏輯電路如圖3.2所示,圖3.2(a)和圖3.2(b)是兩種不同邏輯電路,但其結果是相同的。圖3.2判溢出的邏輯圖(之一)(2)當任意符號兩數(shù)相加時,如果C=Cf,運算結果正確,其中C為數(shù)值最高位的進位,Cf為符號位的進位。如果C≠Cf,則為溢出,所以溢出條件=CCf。例3.28中的③和④即為這種情況。其邏輯電路見圖3.3。圖3.3判溢出的邏輯圖(之二)(3)采用雙符號位fS1fS2。正數(shù)的雙符號位為00,負數(shù)的雙符號位為11。符號位參與運算,當結果的兩個符號位fS1和fS2不相同時,為溢出。所以溢出條件=fS1fS2,或者溢出條件=fS1fS2+fS1fS2。其邏輯電路如圖3.4所示。例3.29① 9+5=14 ②12+7=19
001001 001100 +000101 +000111
001110 010011 C=Cf=0不溢出,C=1,Cf=0溢出, 或fS1=fS2不溢出或fS1≠fS2溢出運算結果的符號位為fS2(無論溢出與否)。圖3.4判溢出的邏輯圖(之三)采用多符號位的補碼又叫“變形補碼”。如果采用雙符號位,當數(shù)為小數(shù)時,模m=4;當數(shù)為整數(shù)時,模m=2n+2。其中n為數(shù)值部分的位數(shù)。一般運算時用雙符號位,存儲時僅保留一個符號位。因為在正常情況下,兩個符號位保持一致,而發(fā)生溢出情況時,一般要產生出錯信號,由CPU執(zhí)行糾錯程序進行處理,情況嚴重時將停機。3.2.3定點數(shù)和浮點數(shù)
1.定點數(shù) 定點數(shù)是指小數(shù)點固定在某個位置上的數(shù)據(jù),一般有小數(shù)和整數(shù)兩種表示形式。定點小數(shù)是把小數(shù)點固定在數(shù)據(jù)數(shù)值部分的左邊,符號位的右邊;整數(shù)是把小數(shù)點固定在數(shù)據(jù)數(shù)值部分的右邊。我們在前面討論的數(shù)據(jù)都是定點數(shù)。2.浮點數(shù) 浮點數(shù)是指小數(shù)點位置可浮動的數(shù)據(jù),通常以下式表示:N=M·RE
其中,N為浮點數(shù),M(mantissa)為尾數(shù),E(exponent)為階碼,R(radix)稱為“階的基數(shù)(底)”,而且R為一常數(shù),一般為2、8或16。在一臺計算機中,所有數(shù)據(jù)的R都是相同的,于是不需要在每個數(shù)據(jù)中表示出來。因此,浮點數(shù)的機內表示一般采用以下形式: MS E M 1位 n+1位 m位MS是尾數(shù)的符號位,設置在最高位上。E為階碼,有n+1位,一般為整數(shù),其中有一位符號位,設置在E的最高位上,用來表示正階或負階。M為尾數(shù),有m位,由MS和M組成一個定點小數(shù)。MS=0,表示正號,MS=1,表示負號。 為了保證數(shù)據(jù)精度,尾數(shù)通常用規(guī)格化形式表示:當R=2,且尾數(shù)值不為0時,其絕對值應大于或等于(0.5)10。用補數(shù)表示:M補=0.1XXXX…X,M>0(0.5=<M<1)或M補=1.0XXXX…X,M<0(-1=<M<-0.5)
特殊情況:(1)[-0.5]補=1.1000…0,與一般情況相悖,為便于硬件判斷,規(guī)定-0.5不是規(guī)格化的數(shù)(對補碼而言);(2)[-1]補=1.000…0,規(guī)定-1是規(guī)格化的數(shù)(對補碼而言);
對非規(guī)格化浮點數(shù),通過將尾數(shù)左移或右移,并修改階碼值使之滿足規(guī)格化要求。假設浮點數(shù)的尾數(shù)為0.0011,階碼為0100(設定R=2),規(guī)格化時,將尾數(shù)左移2位,而成為0.1100,階碼減去(10)2,修改成0010,浮點數(shù)的值保持不變。
當一個浮點數(shù)的尾數(shù)為0(不論階碼是何值),或階碼的值比能在機器中表示的最小值還小時,計算機都把該浮點數(shù)看成零值,稱為機器零。在多數(shù)通用機中,浮點數(shù)的尾數(shù)用補碼表示,階碼用補碼或移碼表示。移碼的定義如下(當階碼為n+1位二進制整數(shù)其中最高位為符號位時): [X]移=2n+X -2n≤X<2n (3.11) 將這一定義與整數(shù)補碼的定義比較,可找出補碼與移碼之間的關系。 [X]補= X 0≤X<2n 2n+1+X -2n≤X<0 當0≤X<2n時,[X]移=2n+X=2n+[X]補 (3.12) 當-2n≤X<0時, [X]移=2n+X=(2n+1+X)-2n=[X]補-2n(3.13) 因此把[X]補的符號位取反,即得[X]移。例3.30X=+1011[X]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程項目委托管理合同
- 工作流程標準化操作指南說明
- 中介業(yè)務合作協(xié)議合同
- 夫妻離婚協(xié)議書年
- 醫(yī)院治療流程規(guī)范
- 混凝土運輸承包合同
- 2025年武漢貨運資格證考試答題20題
- 三農品牌塑造與推廣策略手冊
- 2025年哈爾濱貨運從業(yè)資格證模擬考試
- 2025年自貢貨運從業(yè)資格證考試模擬考試題庫下載
- 山地光伏施工方案
- 六年級心理健康ppt名師優(yōu)質課獲獎市賽課一等獎課件
- 四川輕化工大學
- 六西格瑪質量管理在口腔科器械管理中的作用
- 高中心理健康教育-認識自我悅納自我教學課件設計
- 素材合集-扁平化圖標素材(彩色)
- (全)電梯安全風險管控清單
- 中國思想史 馬工程329P
- 《網(wǎng)店美工》教案-商品詳情頁設計
- 原始狩獵圖哀郢楚商
- 新版冀教版(冀人版)科學五年級下冊全冊教案
評論
0/150
提交評論