




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1第第3 3章章 運算方法和運算部件運算方法和運算部件3本章知識要點本章知識要點. .掌握數(shù)據(jù)信息的掌握數(shù)據(jù)信息的表示方法表示方法,包括原碼、,包括原碼、補碼、反碼及定、浮點數(shù)的表示方法;補碼、反碼及定、浮點數(shù)的表示方法;. . 掌握定點數(shù)的加、減、乘、除掌握定點數(shù)的加、減、乘、除運算方運算方法法,了解浮點運算方法;,了解浮點運算方法;. .掌握定點掌握定點運算器運算器的組成與結構,了解的組成與結構,了解浮點運算器的基本結構;浮點運算器的基本結構;. . 掌握奇偶校驗、海明校驗,了解循環(huán)掌握奇偶校驗、海明校驗,了解循環(huán)冗余冗余校驗校驗。43.13.1數(shù)據(jù)的表示方法和轉換數(shù)據(jù)的表示方法和轉換3.
2、1.13.1.1數(shù)值型數(shù)據(jù)的表示和轉換數(shù)值型數(shù)據(jù)的表示和轉換計算機中使用二進制計數(shù)制計算機中使用二進制計數(shù)制基基2 2碼:碼:在物理上容易實現(xiàn)在物理上容易實現(xiàn)編碼、計數(shù)、加減運算規(guī)則簡單編碼、計數(shù)、加減運算規(guī)則簡單基基2 2碼中的碼中的0 0和和1 1與邏輯上的真與假對應與邏輯上的真與假對應51 1、(進位計)數(shù)制、(進位計)數(shù)制進位計數(shù)制:用少量的數(shù)字符號(也稱數(shù)進位計數(shù)制:用少量的數(shù)字符號(也稱數(shù)碼),按先后次序把它們排成數(shù)位,由低到碼),按先后次序把它們排成數(shù)位,由低到高進行計數(shù),計滿進位,這樣的方法稱為進高進行計數(shù),計滿進位,這樣的方法稱為進位計數(shù)制位計數(shù)制基數(shù):進位制的基本特征數(shù),即
3、所用到的數(shù)基數(shù):進位制的基本特征數(shù),即所用到的數(shù)字符號個數(shù)。例如,十進制字符號個數(shù)。例如,十進制 :09 09 十個數(shù)碼十個數(shù)碼表示,基數(shù)為表示,基數(shù)為1010權:進位制中各位權:進位制中各位“1 1”所表示的值為該位的所表示的值為該位的權權常見的進位制:常見的進位制: 2 2,8 8, 10 10,1616進制進制6十進制十進制(Decimal)(Decimal)基數(shù)基數(shù):10:10; 符號符號:0,1,2,3,4,5,6,7,8,9:0,1,2,3,4,5,6,7,8,9計算規(guī)律計算規(guī)律: :“逢十進一逢十進一 ”或或“借一當十借一當十”并列表示并列表示:N:N1010=d=dn-1n-1
4、d dn-2n-2 d d1 1d d0 0.d.d-1-1d d-2-2 d d-m -m 十進制數(shù)的十進制數(shù)的多項式表示多項式表示: :N N1010=d=dn-1 n-1 1010n-1 n-1 + + d dn-2 n-2 1010n-2 n-2 + + d d1 1 10101 1 + + d d0 0 10100 0 + + d d-1 -1 1010-1 -1 + + d d-2 -2 1010-2 -2 + d+ d-m -m 1010- -m mm,nm,n為正整數(shù)為正整數(shù), ,其中其中n n為整數(shù)位數(shù);為整數(shù)位數(shù);m m為小數(shù)位數(shù)。為小數(shù)位數(shù)。DiDi表表示第示第i i位的
5、系數(shù)位的系數(shù),10,10i i稱為該位的權稱為該位的權。mniiiDN11010)(7例如例如: :一個十進制數(shù)一個十進制數(shù)123.45123.45的表示的表示123.45 =1123.45 =110102 2+2+210101 1+3+310100 0 +4 +41010-1-1+ + 5 51010-2-2等式左邊為等式左邊為并列表示法并列表示法,等式右邊為,等式右邊為多項式多項式表示法表示法8二進制二進制(Binary)(Binary)基數(shù)基數(shù):2:2符號符號:0,1:0,1計算規(guī)律計算規(guī)律: :逢二進一或借一當二逢二進一或借一當二二進制的多項式表示二進制的多項式表示: :N N2 2=
6、d=dn-1 n-1 2 2n-1 n-1 + + d dn-2 n-2 2 2n-2 n-2 + + d d1 1 2 21 1 + + d d0 0 2 20 0 + + d d-1 -1 2 2-1 -1 + + d d-2 -2 2 2-2 -2 + d+ d-m -m 2 2-m-m其中其中n n為整數(shù)位數(shù);為整數(shù)位數(shù);m m為小數(shù)位數(shù)。為小數(shù)位數(shù)。DiDi表示第表示第i i位的系位的系數(shù)數(shù),2,2i i稱為該位的權稱為該位的權. . mniiiDN122)(9二進制數(shù)(N)2按多項式展開,可計算得該數(shù)的十進制值。(1101.0101)2=(123+122+021+120+02-1+
7、12-2+02-3+12-4)10=(8+4+0+1+0+0.25+0+0.0625)10=(13.312 5)1010十六進制十六進制(Hexadecimal)(Hexadecimal)基數(shù)基數(shù):16:16符號符號:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F計算規(guī)律計算規(guī)律: :逢十六進一或借一當十六逢十六進一或借一當十六十六進制的多項式表示十六進制的多項式表示: :N N1616=d=dn-1 n-1 1616n-1 n-1 + + d dn-2 n-2 1616n-2 n-2 + + d d1 1 161
8、61 1 + + d d0 0 16160 0 + + d d-1 -1 1616-1 -1 + + d d-2 -2 1616-2 -2 + d+ d-m -m 1616-m -m 其中其中n n為整數(shù)位數(shù);為整數(shù)位數(shù);m m為小數(shù)位數(shù)。為小數(shù)位數(shù)。DiDi表示第表示第i i位的位的系數(shù)系數(shù),16,16i i稱為該位的權稱為該位的權. .mniiiDN11616)(11例如十六進制數(shù)例如十六進制數(shù) (2C7.1F) (2C7.1F)1616的表示的表示(2C7.1F)(2C7.1F)1616=2 =2 16162 2+ 12 + 12 16161 1+ 7 + 7 16160 0+ 1 +
9、1 1616-1-1+ 15 + 15 1616-2-212八進制(八進制(Octal)基數(shù)基數(shù):8:8符號符號:0,1,2,3,4,5,6,7:0,1,2,3,4,5,6,7(15.24)8=(181+580+28-1+48-2)10=(8+5+0.25+0.0625)10=(13.312 5)10mniiiDN188)(2 2、不同數(shù)制間的數(shù)據(jù)轉換、不同數(shù)制間的數(shù)據(jù)轉換1 1)R R進制轉換成十進制的方法進制轉換成十進制的方法按權展開法按權展開法: :先寫成多項式先寫成多項式, ,然后計算十進制結果然后計算十進制結果. .N= dN= dn-1n-1d dn-2n-2 d d1 1d d0
10、 0d d-1-1d d-2-2 d d-m-m =d =dn-1 n-1 R Rn-1 n-1 + + d dn-2 n-2 R Rn-2 n-2 + + d d1 1 R R1 1 +d+d0 0 R R0 0 + + d d-1 -1 R R-1 -1 + + d d-2 -2 R R-2 -2 + d+ d-m -m R R-m-m14例如例如: :寫出寫出(1101.01)(1101.01)2 2,(237),(237)8 8,(10D),(10D)1616的十進的十進制數(shù)制數(shù)(1101.01)(1101.01)2 2=1=12 23 3+1+12 22 2+0+02 21 1+1+
11、12 20 0+ + 0 02 2-1-1+1+12 2-2 -2 =8+4+1+0.25=13.25=8+4+1+0.25=13.25(237)(237)8 8=2=28 82 2+3+38 81 1+7+78 80 0 =128+24+7=159=128+24+7=159(10D)(10D)1616=1=116162 2+13+1316160 0=256+13=269=256+13=269152 2)十進制轉換成二進制方法)十進制轉換成二進制方法一般分為兩個步驟:一般分為兩個步驟:整數(shù)部分的轉換整數(shù)部分的轉換除除2 2取余法(基數(shù)除法)取余法(基數(shù)除法)減權定位法減權定位法小數(shù)部分的轉換小
12、數(shù)部分的轉換乘乘2 2取整法(基數(shù)乘法)取整法(基數(shù)乘法)16除基取余法:把給定的除以基數(shù)除基取余法:把給定的除以基數(shù), ,取余數(shù)作為最低取余數(shù)作為最低位的系數(shù)位的系數(shù), ,然后繼續(xù)將商部分除以基數(shù)然后繼續(xù)將商部分除以基數(shù), ,余數(shù)作為次余數(shù)作為次低位系數(shù)低位系數(shù), ,重復操作直至商為重復操作直至商為 0 0例如:用基數(shù)除法將例如:用基數(shù)除法將(327)(327)1010轉換成二進制數(shù)轉換成二進制數(shù)2 163 1 2 81 1 2 40 1 2 20 0 2 10 0 2 5 0 2 2 1 2 1 0 0 1 (327)(327)10 10 =(101000111) =(101000111)
13、 2 22 327 余數(shù)17減權定位法減權定位法將十進制數(shù)依次從二進制的最高位將十進制數(shù)依次從二進制的最高位權值進行比較,若夠減則對應位置權值進行比較,若夠減則對應位置1 1,減去該權值后再往下比較,若不夠減則減去該權值后再往下比較,若不夠減則對應位為對應位為0 0,重復操作直至差數(shù)為,重復操作直至差數(shù)為0 0。例如:將例如:將 (327) (327)1010 轉換成二進制數(shù)轉換成二進制數(shù) 256327512 256327512327-256=71 1327-256=71 171128 071128 071-64 =7 171-64 =7 1732 0732 0716 0716 078 078
14、 07-4 =3 17-4 =3 13-2=1 13-2=1 11-1=0 11-1=0 119乘基取整法乘基取整法( (小數(shù)部分的轉換小數(shù)部分的轉換) ) 把給定的十進制小數(shù)乘以把給定的十進制小數(shù)乘以2,2,取其整數(shù)作為取其整數(shù)作為二進制小數(shù)的第一位二進制小數(shù)的第一位, ,然后取小數(shù)部分繼續(xù)乘然后取小數(shù)部分繼續(xù)乘以以2,2,將所的整數(shù)部分作為第二位小數(shù)將所的整數(shù)部分作為第二位小數(shù), ,重復操重復操作直至得到所需要的二進制小數(shù)作直至得到所需要的二進制小數(shù)20例如例如: :將將(0.8125)(0.8125)10 10 轉換成二進制小數(shù)轉換成二進制小數(shù). . 整數(shù)部分整數(shù)部分2 2 0.8125
15、=1.625 10.8125=1.625 12 2 0.625=1.25 10.625=1.25 12 2 0.25=0.5 00.25=0.5 02 2 0.5=1 10.5=1 1(0.8125) (0.8125) 10 10 =(0.1101) =(0.1101) 2 221例如例如: :將將(0.2)(0.2)10 10 轉換成二進制小數(shù)轉換成二進制小數(shù) 整數(shù)部分整數(shù)部分0.2 0.2 2 = 0.42 = 0.4 0 00.4 0.4 2 = 0.8 2 = 0.8 0 00.8 0.8 2 = 1.6 2 = 1.6 1 10.6 0.6 2 = 1.2 2 = 1.2 1 10.
16、2 0.2 2 = 0.4 2 = 0.4 0 00.4 0.4 2 = 0.8 2 = 0.8 0 00.8 0.8 2 = 1.6 2 = 1.6 1 10.6 0.6 2 = 1.2 2 = 1.2 1 1 (0.2) (0.2) 10 10 = 0.001100110011. = 0.001100110011. 2 2 22二二 八八 二二 - 十六十六 000 0 0000 0 000 0 0000 0 1000 81000 8001 1 0001 1 001 1 0001 1 1001 91001 9010 2 0010 2 010 2 0010 2 1010 A1010 A011
17、 3 0011 3 011 3 0011 3 1011 B1011 B100 4 0100 4 100 4 0100 4 1100 C1100 C101 5 0101 5 101 5 0101 5 1101 D1101 D110 6 0110 6 110 6 0110 6 1110 E1110 E111 7 0111 7 111 7 0111 7 1111 F1111 F3 3)其它進制之間的直接轉換法)其它進制之間的直接轉換法23八進制轉換二進制八進制轉換二進制例如例如: (123.46 ) : (123.46 ) 8 8=(001,010,011 =(001,010,011 . .100,
18、110 ) 100,110 ) 2 2 =(1010011=(1010011. .10011)10011)2 224二進制轉換成十六進制二進制轉換成十六進制例:例:(110110111 .01101) (110110111 .01101) 2 2(10110111.01101) 2 2 =(1B7.68)1616十六進制: 1 B 7 . 6 8二進制: 0001 ,1011 , 0111 . 0110 ,1000二進制: 1 ,1011 , 0111 . 0110 ,125十六進制轉換成二進制十六進制轉換成二進制例如例如: (7AC.DE ) : (7AC.DE ) 1616=(0111,1
19、010,1100=(0111,1010,1100. .1101,1110 ) 1101,1110 ) 2 2 =(11110101100 =(11110101100 . .1101111 )1101111 )2 2263. 數(shù)據(jù)符號的表示數(shù)據(jù)的數(shù)值通常以正(+)負(-)號后跟絕對值來表示,稱之為“真值”。在計算機中正負號也需要數(shù)字化,一般用0表示正號,1表示負號。正號有時可省略。 273.1.23.1.2十進制數(shù)的編碼與運算十進制數(shù)的編碼與運算 4 4位二進制數(shù)有位二進制數(shù)有1616種不同的組合,從種不同的組合,從中選出中選出1010種對十進制數(shù)位編碼種對十進制數(shù)位編碼(1 1)有權碼)有權碼
20、表示一位十進制數(shù)的二進制碼每一位有確表示一位十進制數(shù)的二進制碼每一位有確定的權。定的權。BCDBCD(Binary Coded DecimalBinary Coded Decimal)84218421,24212421,52115211284位有權碼十進制數(shù)8421碼2421碼5211碼4311碼00 0 0 00 0 0 00 0 0 00 0 0 010 0 0 10 0 0 10 0 0 10 0 0 120 0 1 00 0 1 00 0 1 10 0 1 130 0 1 10 0 1 10 1 0 10 1 0 040 1 0 00 1 0 00 1 1 11 0 0 050 1 0
21、 11 0 1 11 0 0 00 1 1 160 1 1 01 1 0 01 0 1 01 0 1 170 1 1 11 1 0 11 1 0 01 1 0 081 0 0 01 1 1 01 1 1 01 1 1 091 0 0 11 1 1 11 1 1 11 1 1 129兩個一位BCDBCD碼運算結果修正: :小于等于(9 9)1010,不修正。否則,進行加6 6修正。1+8=90 0 0 1 + 1 0 0 01 0 0 1不需要修正4+9=130 1 0 0 + 1 0 0 11 1 0 1 + 0 1 1 0 修正 1 0 0 1 1 進位30(2) 無權碼表示一個十進制數(shù)位的
22、二進制碼的每一位沒有確定的權。用得較多的是余3碼(Excess-3 Code)和格雷碼(Gray Code),格雷碼又稱“循環(huán)碼”。余3碼是在8421碼基礎上加3(0011)而形成的,其運算規(guī)則是:當兩個余3碼相加不產(chǎn)生進位時,應從結果中減去0011;產(chǎn)生進位時,應將進位信號送入高位,本位加0011。例3.11 (28)10+(55)10=(83)10310 1 0 1 1 0 1 1(28)10 +) 1 0 0 0 11 0 0 0(55)101 1 1 0 0 0 1 1 低位向高位產(chǎn)生進位, 高位不產(chǎn)生進位。 -) 0 0 1 1 +) 0 0 1 1 低位+3,高位-3。1 0 1
23、10 1 1 0格雷碼的編碼規(guī)則:任何兩個相鄰編碼只有一個二進制位不同,而其余三個二進制位相同。其優(yōu)點是從一個編碼變到下一個相鄰編碼時,只有1位發(fā)生變化,用它構成計數(shù)器時可得到更好的譯碼波形。格雷碼的編碼方案有多種,表3.3給出兩組常用的編碼值。 南華大學計算機學院32表3.2 4位無權碼十進制數(shù)余3碼格雷碼(1)格雷碼(2)00 0 1 10 0 0 00 0 0 010 1 0 00 0 0 10 1 0 020 1 0 10 0 1 10 1 1 030 1 1 00 0 1 00 0 1 040 1 1 10 1 1 01 0 1 051 0 0 01 1 1 01 0 1 161 0
24、 0 11 0 1 00 0 1 171 0 1 01 0 0 00 0 0 181 0 1 11 1 0 01 0 0 191 1 0 00 1 0 01 0 0 0333.23.2帶符號的二進制數(shù)據(jù)在計算機中帶符號的二進制數(shù)據(jù)在計算機中的表示方法和加減法運算的表示方法和加減法運算真值與機器數(shù)真值與機器數(shù)真值:真值: 正、負符號加二進制絕對值正、負符號加二進制絕對值機器數(shù):在機器中使用的連同數(shù)符一起機器數(shù):在機器中使用的連同數(shù)符一起數(shù)碼化的數(shù)。即在計算機中表示的帶數(shù)碼化的數(shù)。即在計算機中表示的帶符號的二進制數(shù)。符號的二進制數(shù)。機器數(shù)有三種表示方式:原碼、補碼和反碼。34例:設機器字為例:設機
25、器字為8 8位字長,用一位數(shù)碼位字長,用一位數(shù)碼表示正號,表示負號。數(shù)表示正號,表示負號。數(shù)N N1 1的真值為的真值為(10011101001110),數(shù)),數(shù)N N2 2的真值為(的真值為(10011101001110),則),則N N1 1 ,N N2 2對應的機器數(shù)為:對應的機器數(shù)為:N2N1353.2.13.2.1原碼、補碼、反碼及其加減法運算原碼、補碼、反碼及其加減法運算1 1. .原碼表示法原碼表示法原碼的最高位作為符號位,用原碼的最高位作為符號位,用“0 0”表示正號,用表示正號,用“l(fā) l”表示負號,有效表示負號,有效值部分用二進制的絕對值表示。值部分用二進制的絕對值表示。簡
26、單地說:原碼簡單地說:原碼= =符號符號+ +絕對值絕對值小數(shù):小數(shù): X 1 X 1 X 0 X 0 XX原原 = = 1-X=1+|X| 0 X 1-X=1+|X| 0 X -1 -1完成下列數(shù)的真值到完成下列數(shù)的真值到原碼的轉換原碼的轉換X1 =+0.1011011 X1 =+0.1011011 X2 =-0.1011011X2 =-0.1011011 整數(shù): X 2n-1-1X0X原 = 2n-1-X=2n-1+|X| 0X-(2n-1-1)完成下列數(shù)的真值到原碼的轉換X1 = + 0 1011011 X2 = - 0 1011011 南華大學計算機學院38帶符號數(shù)的原碼表示x0 x1
27、x2x3作為原碼編碼時代表的值000000001+10010+20011+30100+40101+50110+60111+71000-01001-11010-21011-31100-41101-51110-61111-739原碼小數(shù)的表示范圍原碼小數(shù)的表示范圍+0+0原原 =0.0000000 =0.0000000;-0-0原原 =1.0000000 =1.0000000 最大值最大值 : 1- 2 : 1- 2-(n-1)-(n-1);最小值;最小值:-(1- 2:-(1- 2-(n-1)-(n-1) )表示數(shù)的個數(shù)表示數(shù)的個數(shù): 2: 2n n - - 1 1原碼小數(shù)取值范圍的精確定義:原
28、碼小數(shù)取值范圍的精確定義: X 1- 2 X 1- 2-(n-1) -(n-1) X0X0 XX原原 = = (書上(書上P37P37:1 1 X0X0) 1-X=1+|X| 0X-(1-2 1-X=1+|X| 0X-(1-2-(n-1) -(n-1) ) )40若二進制原碼小數(shù)的位數(shù)分別是若二進制原碼小數(shù)的位數(shù)分別是8 8、1616位位, ,求其該數(shù)表示的最大值、最小值求其該數(shù)表示的最大值、最小值及所能表示數(shù)的個數(shù)?及所能表示數(shù)的個數(shù)?8 8位位: 127/128: 127/128,-127/128-127/128,2552551616位位: 32767/32768, -32767/3276
29、8, : 32767/32768, -32767/32768, 655356553541原碼整數(shù)的表示范圍原碼整數(shù)的表示范圍+0+0原原 =00000000 =00000000-0-0原原 =10000000 =10000000 最大值最大值 : 2 : 2(n-1)(n-1)-1-1最小值最小值:-(2:-(2(n-1)(n-1)-1)-1)表示數(shù)的個數(shù)表示數(shù)的個數(shù): 2: 2n n - - 1 142若二進制的位數(shù)分別是若二進制的位數(shù)分別是8 8、16,16,求其表求其表示的最大值、最小值及表示數(shù)的個數(shù)示的最大值、最小值及表示數(shù)的個數(shù)8 8位位: 127: 127,-127-127,255
30、2551616位位: 32767 , -32767 , 65535: 32767 , -32767 , 6553543已知原碼求真值:已知原碼求真值:去掉原碼的符號位得到該數(shù)的去掉原碼的符號位得到該數(shù)的絕對值,再根據(jù)符號位配以相應的符絕對值,再根據(jù)符號位配以相應的符號即得該數(shù)的真值。號即得該數(shù)的真值。44例:已知原碼求真值例:已知原碼求真值xx1 1 原原=10110101 =10110101 xx2 2 原原=01010110 =01010110 xx3 3 原原=1.0110101 =1.0110101 xx1 1 原原=10110101=10110101 X X1 1=-0110101B
31、=-(2=-0110101B=-(25 5+2+24 4+2+22 2+1)=-53+1)=-53xx2 2 原原=01010110=01010110 x x2 2=+1010110B=2=+1010110B=26 6+2+24 4+2+22 2+2=86+2=86xx3 3 原原=1.0110101=1.0110101 X X3 3=-(0.0110101B)=-(2=-(0.0110101B)=-(2-2-2+2+2-3-3+2+2-5-5+2+2-7-7)=-)=-0.41410.414145原碼特點:原碼特點:表示簡單,易于同真值之間進行轉換,表示簡單,易于同真值之間進行轉換,實現(xiàn)乘除
32、運算規(guī)則簡單。實現(xiàn)乘除運算規(guī)則簡單。進行加減運算十分麻煩。進行加減運算十分麻煩。462.2.補碼表示法補碼表示法模:模:就是計量器具的容量,或稱模數(shù)。就是計量器具的容量,或稱模數(shù)。對于對于n n位數(shù)來說,其模數(shù)位數(shù)來說,其模數(shù)M M的大小是:的大小是:n n位數(shù)全為位數(shù)全為1 1后后再在最末位加再在最末位加1 1。如果某數(shù)有。如果某數(shù)有n n位整數(shù)(包括位整數(shù)(包括1 1位符位符號位),則它的模數(shù)為號位),則它的模數(shù)為2 2n n ; ;如果是如果是n n位小數(shù)(包括位小數(shù)(包括1 1位符號位),則它的模數(shù)總是為位符號位),則它的模數(shù)總是為2 24 4位字長的機器表示的二進制整數(shù)為:位字長的機
33、器表示的二進制整數(shù)為: 00001111 00001111 共共1616種狀態(tài),模為種狀態(tài),模為16= 216= 24 4在計算機中,若運算結果大于等于模數(shù),則說明該在計算機中,若運算結果大于等于模數(shù),則說明該值已超過了機器所能表示的范圍,模數(shù)自然丟掉。值已超過了機器所能表示的范圍,模數(shù)自然丟掉。47補碼定義為機器數(shù)的最高位作為符號位,補碼定義為機器數(shù)的最高位作為符號位,用用“0 0”表示正號,用表示正號,用“l(fā) l”表示負號。表示負號。正數(shù)的補碼就是正數(shù)的本身,負數(shù)的補正數(shù)的補碼就是正數(shù)的本身,負數(shù)的補碼是模碼是模減去該數(shù)的絕對值減去該數(shù)的絕對值。小數(shù):小數(shù): X 1X0 X 1X0 xx補
34、補= = 2+X=2-|X| 0X-1 2+X=2-|X| 0X-1 完成下列數(shù)的真值到補碼的轉換X1 = + 0.1011011 X2 = - 0.1011011 整數(shù): X 2(n-1) -1 X0 x補= 2n+X=2n-|X| 0X- 2(n-1)完成下列數(shù)的真值到補碼的轉換X1 = + 0 1011011 X2 = - 0 1011011 50補碼的表示范圍補碼的表示范圍: :N N位純整數(shù)位純整數(shù): 2: 2n-1 n-1 -1-1 -2-2n-1 n-1 N N位純小數(shù)位純小數(shù): 1- 2: 1- 2-(n-1) -(n-1) -1 -1 均能表示均能表示 2 2n n 個數(shù)個數(shù)
35、51帶符號數(shù)的原碼和補碼表示帶符號數(shù)的原碼和補碼表示x0 x1x2x3原碼補碼0000000001+1+10010+2+20011+3+30100+4+40101+5+50110+6+60111+7+71000-0-81001-1-71010-2-61011-3-51100-4-41101-5-31110-6-21111-7-152真值零真值零的補碼是唯一的,即+0補=-0補=0053求補碼的方法正數(shù)的補碼等于其原碼,即符號+絕對值。負數(shù)的補碼:根據(jù)定義:模 + X 或 模-|X|求反加1:先寫出該數(shù)的原碼,保持符號位不變,其余各位對應求反,且在末尾加1。先寫出與該負數(shù)對應的正數(shù)的補碼表示,將
36、其按位求反(包括符號位),且在末尾加1。54例1:X1=+0.1011,X2=-0.1011,字長為8位則 x1補=0.1011000 x2補=2- 0.1011000 =1.0101000或 :先寫出該數(shù)的原碼:1.1011000 再保持符號位不變,其余各位對應求反: 1.0100111 最后在末尾加1: 1.0101000又或:先寫出與該負數(shù)對應的正數(shù)的補碼表示: 0.1011000將其按位求反(包括符號位):1.0100111最后在末尾加1: 1.010100055例2:X1=+1011,X2=-1011,字長為8位則 x1補=00001011x2補=28-0001011=1000000
37、00-00001011 =11110101或 :先寫出該數(shù)的原碼:10001011 再保持符號位不變,其余各位對應求反: 11110100 最后在末尾加1: 11110101又或:先寫出與該負數(shù)對應的正數(shù)的補碼表示: 00001011將其按位求反(包括符號位):11110100最后在末尾加1: 1111010156原碼與補碼之間的轉換原碼求補碼原碼求補碼正數(shù)正數(shù) X X補補=X=X原原負數(shù)負數(shù) 符號除外,各位取反,末位加符號除外,各位取反,末位加1 1例:例:X= -01001001 XX= -01001001 X原原= =1 110010011001001, X X補補= =1 101101
38、10+1=0110110+1=1 101101110110111 X X補補=2=28 8+X=100000000-1001001+X=100000000-1001001 = =1 101101110110111 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 - 1 0 0 1 0 0 1 - 1 0 0 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 157已知補碼求真值正數(shù):補碼的數(shù)值即其真值。正數(shù):補碼的數(shù)值即其真值。負數(shù):對負數(shù)的補碼作負數(shù):對負數(shù)的補碼作“求補運算求補運算”可得其數(shù)可得其數(shù)值(絕對值),配以符號即得真值。值(絕對值
39、),配以符號即得真值?!扒笱a求補運算運算”即即“求反加求反加1 1”。58例:已知補碼求真值yy1 1 補補=10111111 y=10111111 y2 2 補補=1.1101011 y=1.1101011 y3 3 補補=01101011=01101011解解: |y: |y1 1|=01000000+1=01000001|=01000000+1=01000001 y y1 1=-01000001B=-65=-01000001B=-65 |y |y2 2|=0.0010100+0.0000001|=0.0010100+0.0000001 =0.0010101 =0.0010101 y y2
40、 2=-0.0010101B=-0.1641=-0.0010101B=-0.1641 |y |y3 3|=01101011|=01101011 y y3 3=+01101011B=107=+01101011B=10759由由XX補求補求-X-X補補(求機器負數(shù))(求機器負數(shù))運算過程是連同符號一起將各位取反,末運算過程是連同符號一起將各位取反,末位再加位再加1 1。設字長。設字長N=8N=8位位例:例:X= +100 1001X= +100 1001 X X補補 =0100 1001 =0100 1001 -X -X補補=1011 0111=1011 011160減法運算轉換成加法運算XX補補
41、-Y-Y補補= X= X補補+-Y+-Y補補例如例如 X=(11) X=(11)1010=(1011)=(1011)2 2 Y=(5) Y=(5)1010=(0101)=(0101)2 2已知字長已知字長n=5n=5位位XX補補-Y-Y補補 =X=X補補+-Y+-Y補補=01011+11011=01011+11011=1 100110=00110=(6)00110=00110=(6)10 10 注:注: 最高最高1 1位已經(jīng)超過字長故應丟掉位已經(jīng)超過字長故應丟掉圖3.1實現(xiàn)加法運算的邏輯示例當執(zhí)行加法時,應提供的控制信號有:AALU,BALU(從B寄存器的各觸發(fā)器的Q端輸出),ALU A62符
42、號位與有效值一起參加運算由于原碼、反碼存在(+0)和(-0),減法運算時符號位和有效值采用相同運算規(guī)則會出現(xiàn)錯誤。補碼只有一個零,符號位與有效值可以一起參加運算(如圖3.1)。63補碼的優(yōu)點使符號位能與有效值部分一起參加運算,從而簡化運算規(guī)則. 使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計643.反碼表示法正數(shù)正數(shù): : 反碼與原碼、補碼的表示形式相同反碼與原碼、補碼的表示形式相同. .負數(shù)負數(shù): :符號位與原碼、補碼的符號位定義相同,符號位與原碼、補碼的符號位定義相同,只是將原碼的數(shù)值位按位變反。只是將原碼的數(shù)值位按位變反。小數(shù): X 1 X 0X反= (2- 2-(n-1)
43、 )+X 0 X -1X1=+0.1011011 , X1 反 =0.1011011X2= -0.1011011 , X2 反 =1.0100100 1. 1 1 1 1 1 1 1 - 0. 1 0 1 1 0 1 1 1. 0 1 0 0 1 0 0 66整數(shù)整數(shù) X 2n-1 X 0 X反= (2n -1)+X 0 X -2n-1 X3=+1011011 , X3 反 =01011011 X4= -1011011 , X4 反 =10100100 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 0 +0反=00000000 ; -0反 =11111
44、11167帶符號數(shù)的原碼、補碼和反碼表示x0 x1x2x3原碼反碼補碼00000000001+1+1+10010+2+2+20011+3+3+30100+4+4+40101+5+5+50110+6+6+60111+7+7+71000-0-7-81001-1-6-71010-2-5-61011-3-4-51100-4-3-41101-5-2-31110-6-1-21111-7-0-168已知反碼求真值正數(shù):反碼的數(shù)值即其真值。負數(shù):對負數(shù)的反碼求反可得其數(shù)值(絕對值),配以符號即得真值。南華大學計算機學69碼制表示法小結X原、X反 、X補用“0”表示正號,用“1”表示負號;如果X為正數(shù),則X原=
45、X反 =X補。如果X為0,則 X補 有唯一 編碼, X原、X反 有兩種編碼。移碼:與補碼的形式相同,只是符號位相反。4. 數(shù)據(jù)從補碼和反碼表示形式轉換成原碼原碼反碼:按位取反;原碼補碼:按位取反,末位加1;求補:在計算機中,用串行電路按位從低位向高位,直到第一個1各位都不變,以后的各位按位取反,最后符號位不變。70715整數(shù)的表示形式設設 X XX Xn nX X2 2X X1 1X X0 0,其中,其中X Xn n為符號位。為符號位。022220XXXXXXnnnn原原碼:0212201XXXXXnnn反反碼:02222011XXXXXXnnnn補補碼:72無符號數(shù)的表示在數(shù)據(jù)處理的過程中,
46、如不需要設置符號位可用全部字長來表示數(shù)值大小。如8位無符號數(shù)的取值范圍是0255(2)。733.2.2 加減法運算的溢出處理加減法運算的溢出處理1 1、 什么是溢出?什么是溢出? 當運算結果超出機器數(shù)所能表示的范圍時,稱為溢出。當運算結果超出機器數(shù)所能表示的范圍時,稱為溢出。 顯然,顯然,兩個異號數(shù)相加兩個異號數(shù)相加或或兩個同號數(shù)相減兩個同號數(shù)相減,其結果是,其結果是不會溢不會溢出出的。僅當?shù)?。僅當兩個同號數(shù)相加兩個同號數(shù)相加或者或者兩個異號數(shù)相減兩個異號數(shù)相減時,才有可能時,才有可能發(fā)發(fā)生溢出生溢出的情況。的情況。例:若機器的字長為例:若機器的字長為5 5,請分析下列各運算結果是否有溢出:,
47、請分析下列各運算結果是否有溢出: 9 + 8 = 9 + 8 =? -8 + -8 +(-9-9)= =? (-8-8)+ 7 =+ 7 =? 15 + 15 +(-4-4)= =?南華大學計算機學院742 2、溢出條件及實現(xiàn)邏輯、溢出條件及實現(xiàn)邏輯方法一:方法一:f fA A,f fB B表示兩操作數(shù)表示兩操作數(shù)(A(A、B)B)的符號位,的符號位,f fS S為結果的符號位。為結果的符號位。若兩正數(shù)相加結果為負或兩負數(shù)相加結果為正,都有溢出產(chǎn)生。若兩正數(shù)相加結果為負或兩負數(shù)相加結果為正,都有溢出產(chǎn)生。即:即:SBASBASBASBASBASBAffffffffffffffffff溢出條件正
48、溢:兩正數(shù)相加,結果為負。負溢:兩負數(shù)相加,結果為正。75 A=10 B=7 10+7 : 0 1010 0 01111 0001 A= -10 B= -7 -10+(-7):0 1111 1 01101 1001溢出!正溢負溢76方法二:方法二: 當任意符號兩數(shù)相加時,如果當任意符號兩數(shù)相加時,如果C CC Cf f ,運算結果正確,其中,運算結果正確,其中C C為數(shù)值最高位的進位,為數(shù)值最高位的進位,C Cf f 為符號位的進位。如果為符號位的進位。如果CCCCf f ,則為溢,則為溢出,即:出,即:fCC 溢出條件當最高位和次高位不是同時產(chǎn)生進位,則結果溢出77正確正確0 00110 0
49、010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7:0 10100 01111 0001 正溢正溢正確正確負溢負溢正確正確正確正確(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4 6+(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100C Cf f=0=0C =0C =0C Cf f=0=0C =1C =1C Cf f=1=1C =1C =1C Cf
50、 f=1=1C =0C =0C Cf f=1=1C =1C =1C Cf f=0=0C =0C =011111178方法三:方法三: 采用雙符號位采用雙符號位f fS2 S2 ,f fS1 S1 。正數(shù)的雙符號位為。正數(shù)的雙符號位為0000,負數(shù)的雙符,負數(shù)的雙符號位為號位為1111。符號位參與運算,當結果的兩個符號位。符號位參與運算,當結果的兩個符號位f fS1 S1 、f fS2 S2 不相同不相同時,為溢出。即:時,為溢出。即:21ssff 溢出條件fs2fs1 : 00結果為正,無溢出 01正溢 10負溢 11結果為負,無溢出 不論溢出與否,結果符號為fs2.79(1)3+2:正確正確
51、00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正溢正確正確負溢負溢正確正確正確正確(3)-3+(-2):11 0111 11 110111 1110(4)-10+(-7):10 1111 11 011011 1001(5)6+(-4):00 0010 00 011011 1100(6)-6+4:11 1110 11 101000 0100第一符號位第一符號位Sf2第一符號位第一符號位Sf2多符號位的補碼采用多符號位的補碼稱為“變形補碼”;如采用雙符號位:模:小數(shù)m=4、整數(shù)m=2n+2一般運算時用雙符號位,存儲時只保留一個符號;正常
52、情況下兩個符號位保持一致,一旦溢出,產(chǎn)生出錯信號,調用中斷處理。813.2.3 3.2.3 定點數(shù)和浮點數(shù)定點數(shù)和浮點數(shù)計算機中小數(shù)的小數(shù)點并不是用某個數(shù)字來表示的,而是用隱含的小數(shù)點的位置來表示的。根據(jù)小數(shù)點的位置是否固定,又可分為定點表示和浮點表示。821.1.定點數(shù)定點數(shù)(1 1)定點小數(shù))定點小數(shù)隱含小數(shù)點位置83最小負數(shù) 最大負數(shù) 最小正數(shù) 最大正數(shù)表示范圍:表示范圍:二進制原碼 1.1111111 1.0000001 1.0000000 0.0000000 0.0000001 0.1111111二進制補碼 1.0000000 1.0000001 1.1111111 0.000000
53、0 0.0000001 0.1111111二進制反碼 1.0000000 1.1111110 1.1111111 0.0000000 0.0000001 0.11111110二進制原碼:二進制原碼:二進制補碼:二進制補碼:二進制反碼:二進制反碼:84(2)(2)定點整數(shù)定點整數(shù)將小數(shù)點固定在數(shù)的最低位之后,這就是定點整數(shù)形式。其格式如下:隱含小數(shù)點位置85表示范圍:表示范圍:二進制原碼 11111111 10000001 10000000 00000000 00000001 01111111二進制補碼 10000000 10000001 11111111 00000000 00000001 0
54、1111111二進制反碼 10000000 11111110 11111111 00000000 00000001 011111110 最小負數(shù) 最大負數(shù) 最小正數(shù) 最大正數(shù)二進制原碼:二進制原碼:二進制補碼:二進制補碼:二進制反碼:二進制反碼:862 2、浮點數(shù)、浮點數(shù)浮點的表示形式:即小數(shù)點的位置不固定,是浮動的。87 移碼(增碼)表示法移碼也叫增碼,它常以整數(shù)形式用在計算機浮點數(shù)的階碼(表示指數(shù))中。若純整數(shù)X為n位(包括符號位),則其移碼定義為:X移= 2 2n-1n-1 + X + X補, -2-2n-1n-1 X 2 X 2n-1n-1-1或 X移= 2= 2n-1n-1 + X
55、+ X 求移碼的方法:根據(jù)定義;將該數(shù)補碼的符號位求反即得該數(shù)的移碼。88例例1:設字長為設字長為8位,若位,若x=-1000則:則: X補補=11111000 X移移=27+X補補=10000000+11111000=01111000或或 =10000000+(-1000)=01111000或:將其補碼的符號位求反即得:或:將其補碼的符號位求反即得:0111100089例2:設字長為設字長為8位,若位,若x=+1000則:則: X補補=00001000 X移移=27+X補補=10000000+00001000=10001000或或 =10000000+(+1000)= 10001000或或
56、將其補碼的符號位求反即得:將其補碼的符號位求反即得:1000100090已知移碼求真值:1)X= X= XX移移-2-2n-1n-1 X0 X0 或或 X= X= - -(2 2n-1n-1 - -XX移移)X0 2)將該數(shù)移碼符號位求反得到該數(shù)的補碼,再根據(jù)已知補碼求真值的方法求得該數(shù)的真值。91例:已知移碼求真值 XX移移=10001000,則:X=10001000-10000000=+00001000B或: XX補=00001000 X=00001000B XX移移=01111000,則:X=01111000-10000000=-(10000000-01111000) =-0000100
57、0B或:XX補=11111000 |X|=00001000 X=-00001000Bx0 x1x2x3原碼反碼補碼移碼0000000-80001+1+1+1-70010+2+2+2-60011+3+3+3-50100+4+4+4-40101+5+5+5-30110+6+6+6-20111+7+7+7-11000-0-7-801001-1-6-711010-2-5-621011-3-4-531100-4-3-441101-5-2-351110-6-1-261111-7-0-1792帶符號數(shù)的四種編碼表示注意:注意:移碼的大小移碼的大小變化與真值變化與真值一致(由小一致(由小到大),最到大),最小
58、值為全零小值為全零。93(1 1)浮點數(shù)的表示格式)浮點數(shù)的表示格式把字長分成階碼(表示指數(shù))和尾數(shù)把字長分成階碼(表示指數(shù))和尾數(shù)(表示數(shù)值)兩部分假設階碼為(表示數(shù)值)兩部分假設階碼為E,E,尾尾數(shù)為數(shù)為M M,基數(shù)為,基數(shù)為2 2,則以這種格式存儲的,則以這種格式存儲的數(shù)數(shù)X X可表示為可表示為 。實際應用中,階碼通常采用補碼或移碼實際應用中,階碼通常采用補碼或移碼定點整數(shù)形式,尾數(shù)通常用原碼或補碼定點整數(shù)形式,尾數(shù)通常用原碼或補碼定點小數(shù)形式表示。定點小數(shù)形式表示。EMX294浮點數(shù)據(jù)編碼的標準是浮點數(shù)據(jù)編碼的標準是IEEE 754 IEEE 754 標準標準浮點數(shù)的機內表示一般采用以
59、下形式浮點數(shù)的機內表示一般采用以下形式浮點數(shù) 符號位階碼尾數(shù)總位數(shù)單精度182332雙精度1115264機器零機器零: :當一個浮點數(shù)的當一個浮點數(shù)的尾數(shù)為尾數(shù)為0(0(不論階碼是何值不論階碼是何值) ),或,或階階碼的值比能在機器中表示的最小值(移碼表示的零)還小碼的值比能在機器中表示的最小值(移碼表示的零)還小時,計算機都把該浮點數(shù)看成零值,稱為機器零。時,計算機都把該浮點數(shù)看成零值,稱為機器零。尾數(shù)采用補碼、階碼采用尾數(shù)采用補碼、階碼采用移碼移碼形式,機器零為全零。形式,機器零為全零。95*浮點數(shù)的表示范圍*n:n:階碼、階碼、m:m:尾數(shù)(不含符號位),階碼用移碼、尾數(shù)用補碼表示:尾數(shù)(不含符號位),階碼用移碼、尾數(shù)用補碼表示:1 1)當)當m ms s=0=0, ,階碼和尾數(shù)的數(shù)值位各位全為階碼和尾數(shù)的數(shù)值位各位全為1 1, ( (階碼:階碼:1111.11111.1,尾數(shù):,
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 研究型大學學科交叉與融合的促進機制
- 音樂跨學科教學的理論基礎
- 辦公房租賃合同范本
- 鄉(xiāng)村個人購房合同范例
- 南京留學服務合同范本
- 售房貸款合同范本
- 加油車合同范例
- 主辦方活動合同范本
- 合同范本有章
- 北京新租賃合同范本
- 生物-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 2024廣西公務員考試及答案(筆試、申論A、B類、行測)4套 真題
- 川教版六年級《生命.生態(tài).安全》下冊第1課《我們的閑暇時光》課件
- 汽車坡道玻璃雨棚施工方案
- 跨文化商務交際導論 課件 Unit 1 Culture
- 高效空調制冷機房智能控制系統(tǒng)技術規(guī)程
- 新高考英語讀后續(xù)寫——人物描寫高級表達素材
- 第3章一氧化碳變換
- 開工申請開工令模板
- 基于消費者心理的中國奢侈品營銷策略分析——以CHANEL為例市場營銷專業(yè)
- 單元三 電子合同法律實務
評論
0/150
提交評論