




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機組成原理,教材:白中英,計算機組成原理(第四版),科學出版社,第一章 計算機系統(tǒng)概論 第二章 運算方法和運算器 第三章 內(nèi)部存儲器 第四章 指令系統(tǒng) 第五章 中央處理器 第六章 總線系統(tǒng) 第七章 外圍設(shè)備 第八章 輸入輸出系統(tǒng) 第九章 操作系統(tǒng)支持 第十章 安騰高性能處理機體系結(jié)構(gòu),目錄,第二章 運算方法和運算器,重點:數(shù)據(jù)表示 簡介:運算方法和運算器 補充:差錯編碼,二進制數(shù),便于計算機存儲及物理實現(xiàn) 特點:逢二進一,由0和1兩個數(shù)碼組成,基數(shù)為2,各個位權(quán)以2k表示 二進制數(shù): anan-1a1a0.b1b2bm an2nan-12n-1a121a020 b12-1b22-2bm2-
2、m 其中ai,bj非0即1,十六進制數(shù),用于表達二進制數(shù),相互轉(zhuǎn)換簡單 基數(shù)16,逢16進位,位權(quán)為16k,16個數(shù)碼: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn) 十六進制數(shù): anan-1a1a0.b1b2bm an16nan-116n-1a1161 a0160 b116-1b216-2bm16-m 其中ai,bj是0F中的一個數(shù)碼,二進制數(shù)或十六進制數(shù)轉(zhuǎn)換為十進制數(shù),方法:按權(quán)展開 二進制數(shù)轉(zhuǎn)換為十進制數(shù) 0011.1010B 12112012-102-212-3 3.625 十六進制數(shù)轉(zhuǎn)換為十進制數(shù) 1.2H 11602161 1.125,十六進制數(shù)用后綴字母H,二
3、進制數(shù)用后綴字母B,十進制整數(shù)轉(zhuǎn)換為二或十六進制數(shù),整數(shù)部分轉(zhuǎn)換:用除法 十進制數(shù)整數(shù)部分不斷除以基數(shù)2或16,并記下余數(shù),直到商為0為止 由最后一個余數(shù)起逆向取各個余數(shù),則為轉(zhuǎn)換成的二進制和十六進制數(shù) 12601111110B 1267EH,十進制小數(shù)轉(zhuǎn)換為二或十六進制數(shù),小數(shù)部分轉(zhuǎn)換:用乘法 分別乘以各自的基數(shù),記錄整數(shù)部分,直到小數(shù)部分為0為止 0.81250.1101B 0.81250.DH 小數(shù)轉(zhuǎn)換會發(fā)生總是無法乘到為0的情況 可選取一定位數(shù)(精度) 將產(chǎn)生無法避免的轉(zhuǎn)換誤差,十六進制數(shù)的加減運算,二進制和十六進制數(shù)之間具有對應(yīng)關(guān)系 整數(shù)從左向右 小數(shù)從右向左 每4個二進制位對應(yīng)一個
4、十六進制位 00111010B3AH,F(xiàn)2H11110010B 十六進制數(shù)的加減運算類似十進制 逢16進位1,借1當16 23D9H94BEHB897H A59FH62B8H42E7H,真值和機器數(shù),真值:現(xiàn)實中真實的數(shù)值 機器數(shù):計算機中用0和1數(shù)碼組合表達的數(shù)值 定點數(shù):固定小數(shù)點的位置表達數(shù)值的機器數(shù) 定點整數(shù):將小數(shù)點固定在機器數(shù)的最右側(cè)表達的整數(shù) 定點小數(shù):將小數(shù)點固定在機器數(shù)的最左側(cè)表達的小數(shù) 浮點數(shù):小數(shù)點浮動表達的實數(shù) 無符號數(shù):只表達0和正整數(shù)的定點整數(shù) 有符號數(shù):表達負整數(shù)、0和正整數(shù)的定點整數(shù) 符號位需要占用一個位,常用機器數(shù)的最高位 0表示正數(shù)、1表示負數(shù) 具有原碼、反
5、碼、補碼、移碼,沒有符號位,使用全部字長來表示數(shù)值大小 字長N8時,編碼:0000000011111111 取值范圍:0255(28-1) 字長N16時,編碼:0000FFFFH 取值范圍:065535(216-1) 字長N32時,編碼:00000000FFFFFFFFH 取值范圍:0232-1,無符號數(shù)的表示,2.1 數(shù)據(jù)與文字的表示方法,2.1.1 數(shù)據(jù)格式 2.1.2 數(shù)的機器碼表示 2.1.3 字符與字符串的表示方法 2.1.4 漢字的表示方法 2.1.5 校驗碼,計算機中常用的數(shù)據(jù)表示格式有兩種,一是定點格式,二是浮點格式 定點格式容許的數(shù)值范圍有限,但要求的處理硬件比較簡單 浮點格
6、式容許的數(shù)值范圍很大,但要求的處理硬件比較復雜,2.1.1 數(shù)據(jù)格式,定點數(shù)的表示方法,定點表示:約定機器中所有數(shù)據(jù)的小數(shù)點位置是固定不變的。通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù) 定點數(shù)xx0 x1x2xn 在定點機中表示如下(x0表示符號位,0代表正號,1代表負號),定點整數(shù)的小數(shù)點位置,定點小數(shù)的小數(shù)點位置,例: X=+1010110.,純整數(shù):X = 01010110.,正數(shù),符號位取0,Y= - 1101001.,純整數(shù):Y = 11101001. (原碼),負數(shù),符號位取1,X=+0.11011,Y=-0.10101,符號位取0,純小數(shù):X = 0.11011,符號位取1,純小數(shù):X =
7、1.10101 (原碼),定點整數(shù)的表示范圍,純整數(shù)的表示范圍為(x1x2xn各位均為0時最??;各位均為1時最大,x0為符號位) 0| 2n 1 例如:n8,最大值編碼:11111111 表示: 111111111000000001 281 目前計算機中多采用定點純整數(shù)表示,因此將定點數(shù)表示的運算簡稱為整數(shù)運算,定點小數(shù)的表示范圍,純小數(shù)的表示范圍為(x1x2xn各位均為0時最??;各位均為1時最大,x0為符號位) 0|12-n 例如,n8,最大值編碼:0.11111111 表示: 0.11111111 1.00.00000001 1-2-8,如何用定點數(shù)來表示非常大(e.g. 210+33 )
8、的數(shù)和非常小(e.g. 910-28 )的數(shù)?,210+33 = 0.2 1034 910-28 = 0.9 10-27,引入比例因子1034和10-27,非常大和非常小的數(shù),浮點數(shù)的表示方法,把一個數(shù)的有效數(shù)字和數(shù)的范圍在計算機的一個存儲單元中分別予以表示 數(shù)的小數(shù)點位置隨比例因子的不同而在一定范圍內(nèi)自由浮動 一個十進制數(shù)可以寫成 10e 一個進制數(shù)可以寫成 e,M尾數(shù) e指數(shù) R基數(shù),數(shù)的科學表達法,階碼和尾數(shù),用定點小數(shù)表示,給出有效數(shù)字的位數(shù)決定了浮點數(shù)的表示精度,表達指數(shù)部分 用整數(shù)形式表示,指明小數(shù)點在數(shù)據(jù)中的位置決定浮點數(shù)的表示范圍,早期計算機表達法,32位單精度浮點數(shù),:含階符
9、的階碼,8 位 階碼采用移碼方式來表示正負指數(shù),:1位符號位 0表示正數(shù) 1表示負數(shù),:尾數(shù),23位小數(shù)表示,小數(shù)點放在尾數(shù)域最前面,IEEE 754標準,64位雙精度浮點數(shù),:含階符的階碼,11位,:1位符號位,:尾數(shù),52位小數(shù),IEEE 754標準,浮點數(shù)的規(guī)格化,例:156.78=15.678101 = 1.5678102 = 0.15678103=REM,對于二進制數(shù) 1011.1101=0.10111101 2+4 = 10.111101 2+2 = 1.0111101 2+3 (規(guī)格化表示法)= 1.0111101 2+11 (規(guī)格化表示法) =REM,那么,計算機中究竟采用哪種
10、數(shù)據(jù)形式?,多種數(shù)據(jù)形式,二進制數(shù),尾數(shù)最高有效位為1,隱藏,并且隱藏在小數(shù)點的左邊(即:1M2) 32位單精度浮點數(shù)規(guī)格化表示 (-1)s(1.) 2E-127 e127(e127) 64位雙精度浮點數(shù)規(guī)格化表示 (-1)s (1.) 2E-1023 e1023(e1023),指數(shù)真值e 用偏移碼形式表示為階碼,規(guī)格化表示原則,IEEE 754標準, X(-1)s1.M2e (1.011011)23 1011.011(11.375)10, 指數(shù)e階碼127 1000 001001111111 00000011=(3)10, 包括隱藏位1的尾數(shù)1.M 1.011011,例1:浮點機器數(shù) (41
11、360000)16,求真值,例2:真值20.59375,求32位單精度浮點數(shù), 分別將整數(shù)和分數(shù)部分轉(zhuǎn)換成二進制數(shù) 20.5937510100.10011, 移動小數(shù)點,使其在第1、2位之間,10100.100111.01001001124,e4,S0,E4+12713110000011,M010010011, 得到32位浮點數(shù)的二進制存儲格式為:,0 100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16,E1(0000 0001)254(1111 1110) e-126+127 表達的數(shù)據(jù)范圍(絕對值): 最小值: e-126,M0(1.M1
12、) 十進制表達:2-1261.1810-38 最大值: e127,M111(23個1) 1.M1.111 (23個1) 22-23 十進制表達:(22-23)2127 221273.401038,32位單精度規(guī)格化浮點數(shù),IEEE 754標準,E12046 e-1022+1023 表達的數(shù)據(jù)范圍(絕對值) : 最小值: e-1022,M0(1.M1) 十進制表達:2-10222.2310-308 最大值: e1023,M111(52個1) 1.M1.111 (52個1) 22-52 十進制表達:(22-52)21023 221023 1.7910308,64位雙精度規(guī)格化浮點數(shù),IEEE 75
13、4標準,真值0的機器數(shù)(機器零) 階碼E0,尾數(shù)M0 正0:S0,負0:S1 非規(guī)格化浮點數(shù):階碼E0,尾數(shù)M0 規(guī)格化浮點數(shù):階碼E1254(11111110) 無窮大的機器數(shù) 階碼E全1(11111111) ,尾數(shù)M0 :S0,:S1 NaN(not a number,不是一個數(shù)) 階碼E全1(11111111) ,尾數(shù)M0 用來通知異常情況,IEEE 754標準,32位單精度浮點數(shù),十進制數(shù)串的表示方法,1.字符串形式 每個十進制的數(shù)位或符號位都用一個字節(jié)存放,-38,2.壓縮的十進制數(shù)串形式 一個字節(jié)存放兩個十進制的數(shù)位,符號位占半個字節(jié)(例如用C表示正,D表示負),+12,123,-
14、12,每個數(shù)位可用BCD碼或ASCII碼,BCD碼(Binary Coded Decimal),二進制編碼的十進制數(shù) 一個十進制數(shù)位用4位二進制編碼來表示 常用8421 BCD碼:低10個4位二進制編碼表示09 壓縮BCD碼:一個字節(jié)表達兩位BCD碼 非壓縮BCD碼:一個字節(jié)表達一位BCD碼(低4位表達數(shù)值,高4位常設(shè)置為0) BCD碼很直觀 BCD碼:0100 1001 0111 1000.0001 0100 1001 十進制真值:4978.149,BCD碼便于輸入輸出,表達數(shù)值準確,十進制數(shù)據(jù)表示,人們習慣于用十進制表示數(shù)據(jù),而計算機則采用二進制表示和處理數(shù)據(jù)。所以向計算機輸入數(shù)據(jù)時,需要
15、進行十進制數(shù)到二進制數(shù)的轉(zhuǎn)換;輸出數(shù)據(jù)時,則要進行二進制數(shù)到十進制數(shù)的轉(zhuǎn)換處理。在數(shù)據(jù)量較小的情況下,這樣的轉(zhuǎn)換對機器運行效率的影響不是很大。但是,在某些應(yīng)用領(lǐng)域,運算簡單而數(shù)據(jù)量很大,進行這些轉(zhuǎn)換所占用的時間比例比較大。所以為了提高機器的運行效率,計算機可以用十進制來表示和處理數(shù)據(jù)。 一個十進制數(shù)位是用若干位二進制編碼表示。用四位二進制代碼的不同組合來表示一個十進制數(shù)碼的編碼方法,稱為二十進制編碼,也稱BCD碼(Binary Coded Decimal)。 常用這種編碼作為十進制數(shù)轉(zhuǎn)換成二進制數(shù)的中間過渡。即先將一個十進制數(shù)用BCD碼來表示,再把它們送入機器, 計算機通過標準子程序使其轉(zhuǎn)換成
16、純二進制數(shù)。,二十進制編碼原理,1、二十進制的編碼都采用壓縮的十進制串的方法,即四個二進制位的值來表示一個十進制數(shù)碼。 2、各種編碼的區(qū)別在于選用哪十個狀態(tài)。選擇的原則是:要考慮輸入和輸出時轉(zhuǎn)換方便;內(nèi)部運算時,加、減運算規(guī)則要盡量簡單;在特定場合,可能有其它一些要求。 3、從每個二進制位是否有確定的位權(quán)區(qū)分,可把二十進制編碼分為有權(quán)碼和無權(quán)碼。,二-十進制有權(quán)碼,對于有權(quán)碼,將每位的數(shù)碼與相應(yīng)的位權(quán)相乘,再求和,就可以得到它所代表的十進制數(shù)值。 8421碼實現(xiàn)加、減運算時的修正規(guī)則: (1)4位一組二進制數(shù),兩個8421碼表示的數(shù)相加之和等于或小于1001,即十進制的9時,不需要修正,在各組
17、內(nèi),二進制代碼相加,仍遵循“逢二進一”的規(guī)則。 (2)4位一組二進制數(shù),兩個8421碼相加結(jié)果大于1001(即十進制9)時,則應(yīng)該對該組的4位進行“加6修正”,使它向高一組產(chǎn)生進位。 (3)4位一組二進制數(shù),兩個8421碼相加結(jié)果大于或等于10000(即十進制16),而向高一組進位時,則應(yīng)該對該4位進行“加6修正”。,二-十進制有權(quán)碼,編碼方法:8421碼,2421碼、5211碼、4311碼和84-2-1碼( 四位二進制位的位權(quán)分別為8、4、-2、-1)等。其最方便使用的共同特點為: (1) 對于2421碼、5211碼、4311碼,任何兩個十進制數(shù)位,采用這三種編碼的任何一種編碼,它們相加之和
18、等于或大于10時,其結(jié)果的最高位向左產(chǎn)生進位,小于10時則不產(chǎn)生進位。這一特點有利于實現(xiàn)“逢十進位”的計數(shù)和加法規(guī)則。 (2) 對于2421碼、5211碼、4311碼和84-2-1碼,任何兩個十進制數(shù)位,采用這四種編碼的任何一種編碼,它們相加其和等于9時,即它們的二進制編碼位互為反碼,則其結(jié)果的四個二進制位一定是1111,能較好地體現(xiàn)十進制的按9 取補與二進制的按1取補的對應(yīng)關(guān)系,這對減法很有用。,二十進制無權(quán)碼,無權(quán)碼中,用的較多的是余3碼(Excess-3 code)和格雷碼(Gray code),格雷碼又稱循環(huán)碼。 1. 余3碼 (1)余3碼是在8421碼的基礎(chǔ)上,把每個代碼都加上001
19、1而形成的。 (2)普通8421碼的加法器仍能為余3碼加法器直接利用,具體規(guī)則如下: (A)若兩個十進制數(shù)的余3碼相加,如果結(jié)果不產(chǎn)生進位,則從所得和值去減0011,便得十進制位和的余3碼。 (B)若兩個十進制數(shù)的余3碼相加,如果結(jié)果有進位,則其進位正確, 但需將所得和值加上0011,才求得十進制數(shù)和的余3碼。,二十進制無權(quán)碼,2. 格雷碼 (1)格雷碼的編碼規(guī)則是使相鄰的兩個代碼,只有一個二進制位的狀態(tài)不同,其余三個二進制位必須有相同狀態(tài)。 (2)優(yōu)點:從一個編碼變到下一個相鄰編碼時,只有一個位的狀態(tài)發(fā)生變化,有利于保證代碼變換的連續(xù)性。在模擬/數(shù)字轉(zhuǎn)換和產(chǎn)生節(jié)拍電位等應(yīng)用場合特別有用。,二
20、十進制的編碼的部分編碼方案,定點整數(shù)的原碼表示,定點整數(shù)的原碼形式為x0 x1x2 xn,使用8位二進制:105 10=011010012 X+105,則 X原 01101001 X-105, 則 X原 11101001 0使用原碼有兩種表達形式 +0原 =00000000 -0原 =10000000,定點小數(shù)的原碼表示,定點整數(shù)的原碼形式為x0.x1x2 xn,使用8位二進制表示 +0.1001,則 X原 01001000 -0.1001,則 X原 11001000 0使用原碼有兩種表達形式 +0原 =00000000 -0原 =10000000,定點整數(shù)的補碼,有符號整數(shù)在計算機中默認采用
21、補碼 最高位表示符號:正數(shù)用0,負數(shù)用1 正數(shù)補碼:直接表示數(shù)值大?。ㄔa無符號數(shù)) 負數(shù)補碼:將對應(yīng)正數(shù)補碼取反加1 105補碼01101001 -105補碼01101001取反1 10010110110010111 8位二進制補碼表示的數(shù)值范圍:-128+127 16位二進制補碼表示的數(shù)值范圍:-215+215-1 32位二進制補碼表示的數(shù)值范圍:-231+231-1 N位二進制補碼表示的數(shù)值范圍:-2N1+2N1-1,為什么是補碼,負數(shù)真值“取反加1”得機器數(shù)補碼 負數(shù)補碼“取反加1”得到負數(shù)真值 補碼:11100000 真值:-(11100000求反1)-(00011111+1) -0
22、0100000-25-32 負數(shù)求補運算,等效于用帶借位的0作減法 真值:-8,補碼:-8補碼100H-08HF8H 補碼:11111000,真值:-(100H-F8H)-08H-8,用十六進制表達和運算,方便!,定點整數(shù)的反碼,反碼:二進制的各位數(shù)碼 0 變?yōu)?,1變?yōu)? 有符號整數(shù)采用反碼 最高位表示符號:正數(shù)用0,負數(shù)用1 正數(shù)反碼:直接表示數(shù)值大?。ㄔa補碼) 負數(shù)反碼:將對應(yīng)正數(shù)反碼取反 105反碼01101001 -105反碼01101001取反10010110,定點整數(shù)的移碼(偏移碼),移碼通常用于表示浮點數(shù)的階碼 有符號整數(shù)采用移碼 最高位表示符號:正數(shù)用1,負數(shù)用0 移碼的傳
23、統(tǒng)定義: X移碼 2n X 2n X2n 105移碼100000000110100111101001 -105移碼10000000110100100010111,傳統(tǒng)定義與標準浮點數(shù)階碼的定義不同,例5,設(shè)機器字長16位,定點表示,尾數(shù)15位,數(shù)符1位,問: 定點原碼整數(shù)表示時,最大正數(shù)是多少?最小負數(shù)是多少? 定點原碼小數(shù)表示時,最大正數(shù)是多少?最小負數(shù)是多少?,例5之解,定點原碼整數(shù)表示 最大正數(shù)值 (2151)10(32767) 10 最小負數(shù)值 -(2151) 10 (-32767) 10 定點原碼小數(shù)表示 最大正數(shù)值(0.111.11)2 (1 2-15) 10 最小負數(shù)值(0.11
24、1.11)2(1 2-15)10,數(shù)的機器碼表示,正數(shù)的原碼、反碼、補碼等于真值,只有負數(shù)才分別有不同的表示方法 采用補碼,減法運算可以用加法運算實現(xiàn),節(jié)省硬件,目前機器中廣泛采用補碼表示法 有些機器用原碼進行存儲和傳送,運算時改用補碼 有些機器做加減法時用補碼,做乘除法時用原碼 移碼表示法主要用于表示浮點數(shù)的階碼,可以直接比較大小。表示范圍和補碼相同,只有最高位相反,同一代碼的不同含義,一個代碼,采用不同編碼,其數(shù)值不一樣 計算機內(nèi)一個二進制數(shù):1000 0001 不同的含義 無符號二進制數(shù):129 8421 BCD碼:81 有符號整數(shù)的原碼:-1 有符號整數(shù)的反碼:-126 有符號整數(shù)的補
25、碼:-127,三種編碼的比較,相同點: 1、 三種編碼(原碼、反碼、補碼)的最高位都是符號位。 2、 當真值為正時,三種編碼的符號位都用0表示,數(shù)值部分與真值相同。 即它們的表示方法是相同的。 3、 當真值為負時,三種編碼的符號位都用1表示,但數(shù)值部分的表示各不相同,數(shù)值部分存在這樣的關(guān)系:補碼是原碼的“求反加1”(整數(shù)),或者“求反末位加1”(小數(shù));反碼是原碼的“每位求反”。 4、 它們所能表示的數(shù)據(jù)范圍基本一樣,-2nX2n(整數(shù))或 -1X1( 小數(shù)),補碼多表示一個數(shù)-2n(整數(shù))或-1(小數(shù))。 區(qū)別:在于對負數(shù)的表示方法有所不同。,ASCII碼(美國標準信息交換碼),標準ASCI
26、I碼用7位二進制編碼,有128個 不可顯示的控制字符:前32個和最后一個編碼 回車CR:0DH 換行LF:0AH 響鈴BEL:07H 可顯示和打印的字符:20H后的94個編碼 數(shù)碼09:30H39H 大寫字母AZ:41H5AH 小寫字母az:61H7AH 空格:20H 擴展ASCII碼:最高D7位為1,表達制表符號,表2.1 ASCII字符編碼表,0-3位,4-7位,字符串的表示方法,字符串是指連續(xù)的一串字符,通常占用主存中連續(xù)的多個字節(jié),每個字節(jié)存一個字符 IF AB THEN READ(C),從低位字節(jié)向高位字節(jié)的順序存放,從高位字節(jié)向低位字節(jié)的順序存放,小端方式和大端方式,多字節(jié)數(shù)據(jù)通常
27、也連續(xù)存放在主存,占用多個連續(xù)的字節(jié)存儲單元 小端方式(Little Endian) 低字節(jié)數(shù)據(jù)存放在低地址存儲單元 高字節(jié)數(shù)據(jù)存放在高地址存儲單元 大端方式(Big Endian) 低字節(jié)數(shù)據(jù)存放在高地址存儲單元 高字節(jié)數(shù)據(jù)存放在低地址存儲單元,32位數(shù)據(jù)的存儲方式,32位數(shù)據(jù)(4個字節(jié)):12 34 56 78H 主存以字節(jié)為單位,每個存儲單元具有一個存儲器地址,其中存放一個字節(jié)數(shù)據(jù)(8位),漢字的輸入編碼,數(shù)字編碼 國標區(qū)位碼,用數(shù)字串代表一個漢字輸入 拼音碼 以漢字拼音為基礎(chǔ)的輸入方法 字形編碼 用漢字的形狀(筆劃)來進行的編碼 例如五筆字形,漢字交換碼,漢字交換碼是不同的漢字處理系統(tǒng)
28、之間交換信息用的編碼 漢字也是一種字符 1981年我國制定了信息交換用漢字編碼字符集基本集GB2312-80國家標準(簡稱國標碼)。每個漢字的二進制編碼用兩個字節(jié)表示。共收錄一級漢字3755個,二級漢字3008個,各種符號682個,共計7445個,漢字內(nèi)碼,漢字內(nèi)碼是用于漢字信息的存儲、檢索等操作的機內(nèi)代碼,一般采用兩個字節(jié)表示 漢字內(nèi)碼有多種方案,常以國標碼為基礎(chǔ)的編碼 例如,將國標碼兩字節(jié)的最高位置1后形成 漢字“啊”的國標碼 3021H (0011 0000 0010 0001) 對應(yīng)的漢字內(nèi)碼 B0A1H (1011 0000 1010 0001),字模碼,漢字的字模碼為: 16位 1
29、6位=32字節(jié),漢字字模點陣及編碼,漢字的表示方法,漢字的輸入編碼、交換碼、漢字內(nèi)碼、字模碼是計算機中用于輸入、內(nèi)部處理、交換、輸出四種不同用途的編碼,不要混為一談,字符代碼化(輸入),校驗碼,校驗碼:能夠發(fā)現(xiàn)甚至糾正信息傳輸或存儲過程中出現(xiàn)錯誤的編碼 檢錯碼:僅能檢測出錯誤的編碼 糾錯碼:能夠發(fā)現(xiàn)并糾正錯誤的編碼 最簡單且應(yīng)用廣泛的檢錯碼:奇偶校驗碼 奇校驗:使包括校驗位在內(nèi)的數(shù)據(jù)中為“1”的個數(shù)恒為奇數(shù) 偶校驗:使包括校驗位在內(nèi)的數(shù)據(jù)中為“1”的個數(shù)恒為偶數(shù)(包括0) 只能檢測出奇數(shù)個位出錯的情況,不能糾錯,例7:用奇校驗和偶校驗進行編碼,數(shù)據(jù) 10101010 01010100 0000
30、0000 01111111 11111111,偶校驗碼 10101010 0 01010100 1 00000000 0 01111111 1 11111111 0,奇校驗碼 10101010 1 01010100 0 00000000 1 01111111 0 11111111 1,計算機的數(shù)據(jù)表示,整數(shù)編碼 定點數(shù),無符號數(shù),有符號數(shù)(補碼),BCD 實數(shù)編碼 浮點數(shù),單精度,雙精度,規(guī)格化 字符編碼:ASCII碼 漢字編碼 輸入碼,機內(nèi)碼,交換碼,字形碼 國際字符編碼:Unicode,編碼:用文字、符號或者數(shù)碼來表示某種信息(數(shù)值、語言、操作指令、狀態(tài))的過程,練習,代碼(BE58000
31、0)16是采用單精度格式保存的浮點數(shù),求其十進制真值 有一個十進制數(shù)100.25,請將它轉(zhuǎn)換成單精度浮點數(shù)格式,運算方法和運算器,2.2 定點加法、減法運算 2.3 定點乘法運算 2.4 定點除法運算 2.5 定點運算器的組成 2.6 浮點運算方法和浮點運算器,例8:0.1001,0.0101,求,x 補0.1001,y 補0.0101 x 補 0.1001 y 補0.0101 + 補 0.1110 所以0.1110,例9:0.1011,0.0101,求,x 補0.1011,y 補1.1011 x 補 0.1011 y 補1.1011 + 補 10.0110 所以0.0110,x1補1.001
32、0 - x1補x1補 2-4 0.11010.00010.1110 x2補0.1101 -x2補x2補 2-4 1.00100.00011.0011,例10:已知10.1110,20.1101求: x1補 ,-x1補 ,x2補 ,-x2補,例11:+0.1101,+0.0110,求-,x補0.1101, y補0.0110 -y補1.1010 x 補 0.1101 -y 補 1.1010 - 補 10.0111 所以0.0111,2.2.3 溢出概念與檢驗方法,兩個正數(shù)相加,結(jié)果為負(即:大于機器所能表示的最大正數(shù)),稱為上溢。 兩個負數(shù)相加,結(jié)果為正(即:小于機器所能表示的最小負數(shù)),稱為下溢
33、。 運算出現(xiàn)溢出,結(jié)果就是錯誤的,例12 0.1011, 0.1001,求。,解: 補0.1011 , 補0.1001 補0.1011 補0.1001 補1.0100 兩正數(shù)相加,結(jié)果為負,顯然錯誤。 運算中出現(xiàn)了“上溢”,又例 0.1011, 0.0010, 求。,解: 補0.1011 , 補0.0010 補0.1011 補0.0010 補0.1101 兩正數(shù)相加,結(jié)果無溢出,例13 0.1101, 0.1011, 求。,解:補1.0011 補1.0101 補1.0011 補 1.0101 補 0.1000,兩負數(shù)相加,結(jié)果為正,顯然錯誤。 運算中出現(xiàn)了“下溢”,又例 0.1101, 0.0
34、010, 求。,解:補1.0011 補1.1110 補1.0011 補 1.1110 補 1.0001,兩負數(shù)相加,結(jié)果為負,無 溢出。,進一步結(jié)論: 當最高有效位產(chǎn)生進位而符號位無進位時,產(chǎn)生上溢; 當最高有效位無進位而符號位有進位時,產(chǎn)生下溢。,產(chǎn)生“溢出”的原因: 分析可知,當最高有效數(shù)值位的運算進位與符號位的運算進位不一致時,將產(chǎn)生運算“溢出”,“溢出”檢測方法:,為了判斷“溢出”是否發(fā)生,可采用兩種檢測的方法。 第一種方法:采用雙符號位法, 稱為“變形補碼”或“模4補碼”,可使模2補碼所能表示的數(shù)的范圍擴大一倍,第二種溢出檢測方法:采用“單符號位法”。 當最高有效位產(chǎn)生進位而符號位無
35、進位時,產(chǎn)生上溢; 當最高有效位無進位而符號位有進位時,產(chǎn)生下溢。 故:溢出邏輯表達式為: VCfCo 其中: Cf為符號位產(chǎn)生的進位,Co為最高有效位產(chǎn)生的 進位。(顯然:此邏輯關(guān)系可用異或門方便地實現(xiàn)) 在定點機中,當運算結(jié)果發(fā)生溢出時,機器通過邏 輯電路自動檢查出溢出故障,并進行中斷處理。,2.2.4 基本的二進制加法/減法器,在計算機中完成兩個二進制數(shù)相加的基本加法器有半加器和全加器。半加器在完成兩數(shù)相加時,不需要考慮低位進位。全加器用來完成兩個二進制數(shù)相加,并且同時考慮低位的進位,即全加器完成三個一位數(shù)相加的功能。 設(shè): Ai表示被加數(shù)的第i位 Bi表示加數(shù)的第i位 Ci為第i-1位
36、向第i位產(chǎn)生的進位 Ci+1為第i位向第i+1位產(chǎn)生的進位 Si為第i位產(chǎn)生的和 則全加器以Ai、Bi、Ci為輸入,以Ci+1、Si為輸出構(gòu)成一個邏輯圖。,2.2.4 基本的二進制加法/減法器,2.2.4 基本的二進制加法/減法器,全加器的表達式為: Si = Ai Bi Ci Ci+1 = AiBi + BiCi + AiCi 一位全加器內(nèi)部邏輯圖,2.2.4 基本的二進制加法/減法器,利用全加器可以實現(xiàn)兩數(shù)的和或差 1、串行加法:從低位開始,每步只完成一位運算的加法。 串行加法器只需要一個全加器和一個進位觸發(fā)器 計算兩個n位數(shù)之和,需要n+1步(1位符號位),或n+2步(2位符號位)運算。
37、 高位運算只有等低位運算完成后才能進行,速度較慢 2、并行加法器:可在同一時刻完成n位數(shù)的運算。 若采用變形補碼表示一個機器數(shù),則符號位需2位,這時需要n+2個加法器。 運算速度比串行進位加法器高很多,這是用足夠多的硬件設(shè)備換來的,2.2.4 基本的二進制加法/減法器,2.3 定點乘法運算,實現(xiàn)乘除法運算的方案: 1、當使用乘除運算較多,速度要求高時,用硬件直接實現(xiàn); 2、一般情況,配置乘除法選件; 3、對速度要求不高的機器,用軟件實現(xiàn)。,2.3.1 原碼一位乘法 (1/5),算法描述 設(shè)X原=Xs.Xn-1Xn-2XiX1X0=Xs.Xv Y原=Ys.Yn-1Yn-2YiY1Y0=Ys.Yv
38、 則乘積Z原=Zs.Zv=(XsYs).(XvYv) 運算步驟 (1) 從乘數(shù)的最低位開始,用乘數(shù)B的每個二進制位去乘被乘數(shù)A,若B 的某個二進制位為1,則得位積A;如為0,則得位積0。 (2) B的各位分別乘以A的所得的位積,因為位權(quán)不同,逐次向左移位,即在空間上按一定位數(shù)錯開,這樣逐位進行下去,直到乘數(shù)各位都乘完為止。 (3) 把經(jīng)過移位對準的各次位積相加起來即得結(jié)果。,2.3.1 原碼一位乘法 (2/5),缺點 將多個數(shù)一次相加,機器難以實現(xiàn)。一般的加法器,只能把兩個輸入數(shù)相加,多個位積的同時輸入是無法實現(xiàn)的。 乘積位數(shù)增長了一倍,即2n,而機器字長只有n位。 改進 (a)把一次求和的操
39、作,變成逐步累加求部分積的操作 (b)將求積過程中逐位按權(quán)左移位積的操作,改為位積不動,而是上次部分積右移的操作,2.3.1 原碼一位乘法 (3/5),手算方法 例如 求A=0.1101和B=0.0110的乘積 機器算法 若用Zi表示第i次部分積,則 Z0 = 0 Z1 = 2-1 (B0A + Z0) Z2 = 2-1 (Bn-1A + Z1) Zi = 2-1 (Bn-i+1A + Zi-1) Zn = 2-1 (B1A + Zn-1) Zn即為A和B的乘積,即AB=Zn,2.3.1 原碼一位乘法 (4/5),例題 已知X=-0.1011,Y=0.1001,求XY原 解: X原=1.101
40、1,Y原=0.1001 |X| = 0.1011,|Y| = 0.1001 按原碼一位乘法運算規(guī)則,求XY原的數(shù)值部分。 |X|Y| = 0.01100011, 而Zs = Xs Ys = 1 0 =1 最后求得XY原 = 1.01100011,例題之原碼一位乘法運算過程,例題之原碼兩位乘法運算過程,原碼一位乘法邏輯結(jié)構(gòu)原理圖,2.3.1 原碼一位乘法 (5/5),工作原理 (I)乘法開始時,“啟動”信號使控制觸發(fā)器Cx置“1”,于是開啟時序脈沖T。 (II) 當乘數(shù)寄存器R1最末位為“1”時,部分積Zi和被乘數(shù)X在加法器中相加,其結(jié)果輸出至R0的輸入端。 (III)一旦打入控制脈沖T到來,控
41、制信號LDR0使部分積右移一位,與此同時,R1也在控制信號LDR1作用下右移一位,且計數(shù)器i計數(shù)一次。 (IV)當計數(shù)器i=n時,計數(shù)器的溢出信號使觸發(fā)器Cx置“0”,關(guān)閉時序脈沖T, 乘法宣告結(jié)束。 若將R0和R1連接起來,乘法結(jié)束時乘積的高n位部分在R0,低n位部分在R1,R1中原來的乘數(shù)Y由于移位而全部丟失。,2.4 定點除法運算,2.4.1 原碼除法算法原理 主要內(nèi)容:原碼一位除法 兩個原碼表示的數(shù)相除時,商的符號由兩數(shù)的符號“異或”求得,即同號時為正,異號為負。商的數(shù)值可由兩數(shù)的絕對值相除求得。,2.4.1 原碼一位除法,手算: 假設(shè)被除數(shù)X=0.1001,除數(shù)Y=0.1011,計算
42、X/Y 0. 1 1 0 1商Q 0.1011 /- 0. 1 0 0 1 0X(R0) - 0. 0 1 0 1 12-1 Y,除數(shù)右移一位,減 - 0. 0 0 1 1 1 0R1 - 0. 0 0 1 0 1 1 2-2 Y,除數(shù)右移一位,減 - 0. 0 0 0 0 1 1 0R2 0. 0 0 0 1 0 1 12-3 Y,除數(shù)右移一位,不減 - 0. 0 0 0 0 1 1 0 0R3 - 0. 0 0 0 0 1 0 1 12-4 Y,除數(shù)右移一位,減 - 0. 0 0 0 0 0 0 0 1R4 得商X/Y=0.1101,余數(shù)=R4=0.00000001,2.4.1 原碼一位除
43、法,筆算特點: (1) 每次都是由心算來比較余數(shù)和除數(shù)的大小,余數(shù)大時,商1;余數(shù)小時,商0。第一次比較時,余數(shù)就是被除數(shù)。 (2) 每做一次減法,總是保持余數(shù)不動,而除數(shù)向右移一位。 (3) 商的符號單獨處理。 為適應(yīng)機器運算,需要進行改進: (1)用補碼加代替直接減(兩個符號位) (2)除數(shù)右移改為余數(shù)左移。,2.4.1 原碼一位除法-恢復余數(shù)法,設(shè)被除數(shù) X原 = Xs.X1X2Xn 除數(shù) Y原 = Ys.Y1Y2Yn 商 Q原 = Qs.Q1Q2Qn 余數(shù) R原 = Rs.R1R2Rn 則它們之間有如下關(guān)系: X原 = Y原Q原 + R原 其除法過程如下: 符號處理: Zs = Xs
44、Ys 商的數(shù)值部分,變成兩正數(shù)相除,即|X|/|Y|(|X|Y|),每一步除法通過2Ri-|Y|(i=0,1,n,R0=|X|)進行比較: 若2Ri-|Y| = Ri+10,即余數(shù)為正(Ris=0),則商上“1”; 若2Ri-|Y| = Ri+10,即余數(shù)為負(Ris=1),則商上“0”。,2.4.1 原碼一位除法-恢復余數(shù)法,原碼恢復余數(shù)法與筆算除法極相似,只是處理方法有些不同。 (1)比較余數(shù)和除數(shù)的大小,計算機是通過用余數(shù)減去除數(shù)求得差值,然后通過差值進行判定。當差值大于0時,商上1;當差值小于0時,商上0。 (2)減去除數(shù)的運算,機器可用加上除數(shù)的補碼機器負數(shù)的方式轉(zhuǎn)換為加法運算。另外
45、,當差值小于0時,商上“0”,不夠減,多減去了除數(shù),還必須加上除數(shù),重新恢復原來的余數(shù)。 (3)筆算中,每做一次減法,除數(shù)右移一位。,2.4.1 原碼一位除法-恢復余數(shù)法,例 X = -0.1001,Y= -0.1011,求X/Y原 解:X原 = 1.1001,Y原 = 1.1011 |X| = 0.1001,|Y| = 0.1011,-|Y|補 = 1.0101 運算過程如下: 所以,Qs = 1 1 = 0 X/Y原 = Q原 = 0.1101 R原 = 2-4R5 = 0.00000001,例題之原碼恢復余數(shù)除法運算過程,2.4.1 原碼一位除法-加減交替法,原碼加減交替法的規(guī)則:當余數(shù)
46、為正時,商上1,余數(shù)左移一位,減除數(shù)絕對值得新余數(shù);當余數(shù)為負時,商上0,余數(shù)左移一位, 加除數(shù)絕對值得新余數(shù)。 證明: 若被除數(shù)為X,除數(shù)Y,當上商操作進行到第i位商數(shù)時,設(shè)余數(shù)為Ri,則有下式: Ri = 2Ri-1 +(- |Y|) (1) 若Ri0,則該位商上“1”,下一步操作是: Ri+1 = 2Ri +(- |Y|) (2) 若Ri0,則該位商上“0”,下一步恢復余數(shù): Rj= Ri+|Y|,然后, Ri+1 = 2Rj +(- |Y|) =2(Ri+|Y|)+(- |Y|) =2Ri+|Y|,2.4.1 原碼一位除法-加減交替法,例 X = -0.1011,Y=0.1101,求X
47、/Y原 解: X原=1.1011,Y原=0.1101 Y補=0.1101,-Y補=1.0011 商的符號 Qs= 1 0 = 1 所以 X/Y原 = 1.1101 余數(shù)=0.01112-4,例題之原碼不恢復余數(shù)除法運算過程,原碼加減交替法邏輯結(jié)構(gòu)框圖,2.4.1 原碼一位除法-加減交替法,R1為n位寄存器,除法開始前可存放被除數(shù)的低n位,運算結(jié)束后存放n位的商。每次上商應(yīng)置于R1的最末位,因為它是由加法器的運算結(jié)果最高位來控制的,所以由f來設(shè)置。運算過程中,商要逐位左移,故R1寄存器具有左移功能。R0 保存被除數(shù)或余數(shù),運算過程中也要左移,所以它也是一個具有左移功能的寄存器。運算中被除數(shù)(余數(shù)
48、)的低位部分由R1串行移至R0。n+1步運算后,求得n+1位商,其中一位整數(shù)位,n位小數(shù)位,這n位小數(shù)位的數(shù)值存于R1寄存器中,而整數(shù)位在最后一次左移時丟掉,而商的符號Qf由Xs和Ys通過異或運算得到, 所以可用一個異或門求得Qf。,2.5 定點運算器的組成,運算器是數(shù)據(jù)的加工處理部件,是CPU的重要組成部分; 最基本的結(jié)構(gòu)中包含:算術(shù)/邏輯運算單元、數(shù)據(jù)緩存寄存器、通用寄存器、多路轉(zhuǎn)換器和數(shù)據(jù)總線等邏輯構(gòu)件。,2.5.1 邏輯運算,計算機中除了進行加、減、乘、除等基本算術(shù)運算外,還可對兩個或一個邏輯數(shù)進行邏輯運算。 所謂邏輯數(shù)是指不帶符號的二進制數(shù)。利用邏輯運算可以進行兩個數(shù)的比較,或者從某
49、個數(shù)中選取某幾位等操作。 主要有邏輯非(反)、邏輯加(或)、邏輯乘(與)、邏輯異或四種基本運算。,2.5.2 多功能算術(shù)/邏輯運算單元,全加器的表達式為: Si = Ai Bi Ci Ci+1 = AiBi + BiCi + AiCi 一位全加器內(nèi)部邏輯圖,加法運算及其加速方法,在計算機技術(shù)發(fā)展過程中,人們提出了各種各樣提高運算速度的方法: 、從計算機系統(tǒng)結(jié)構(gòu)角度,提出了并行處理、流水線等方式; 、運算電路特別是用高速化的邏輯電路實現(xiàn)加法和移位功能; 、運算方法和邏輯結(jié)構(gòu)的高速化。,加法運算及其加速方法,1一級分組先行進位法 (1)相鄰4位加法器單元邏輯(第i-1, i-2, i-3 ,i-4
50、位) Ci=Gi+PiCi-1 Ci-1=Gi-1+Pi-1Ci-2 Ci-2=Gi-2+Pi-2Ci-3 Ci-3=Gi-3+Pi-3Ci-4 展開: Ci-3=Gi-3+Pi-3Ci-4 Ci-2=Gi-2+Pi-2Gi-3+ Pi-2Pi-3 Ci-4 Ci-1=Gi-1+Pi-1 Gi-1+ Pi-1Pi-2Gi-3+ Pi-1 Pi-2Pi-3 Ci-4 Ci=Gi+PiGi-1+Pi Pi-1 Gi-2+Pi Pi-1 Pi-2Gi-3+ PiPi-1 Pi-2Pi-3 Ci-4 Ci中前四項記為GI*,最后一項的前四個因子記為PI* 則,Ci= GI*+ PI* Ci-4,四位一
51、組先行進位全加器,一級分組先行進位及組間行波進位,加法運算及其加速方法,2 二級分組先行進位法 仿一級分析法: C3 = G3* + P3*(1) C7 = G7* + P7* G3*+ P7*P3*(1 ) C11 = G11* + P11* G7*+ P11*P7* G3* + P11*P7*P3*(1 ) C15 = G15* + P15* G11*+ P15* P11* G7*+ P15*P11* P7* G3* + P15*P11*P7*P3*(1 ),加法運算及其加速方法,總線是計算機內(nèi)各部件之間傳送信息的公用的一組連線。 由于計算機內(nèi)部的主要工作過程是信息傳送和加工的過程,因此在
52、機器內(nèi)部各部件之間的數(shù)據(jù)傳送非常頻繁。為了減少內(nèi)部的傳送線并便于控制,通常將一些寄存器之間數(shù)據(jù)傳送的通路加以歸并,組成總線結(jié)構(gòu),使不同來源的信息在此傳輸線上分時傳送。,2.5.3 內(nèi)部總線,內(nèi)部總線和外部總線,根據(jù)總線所在位置,總線分為內(nèi)部總線和外部總線兩類。 內(nèi)部總線是指CPU內(nèi)各部件的連線 外部總線是指系統(tǒng)總線,即CPU與存儲器、I/O系統(tǒng)之間的連線。,單向總線和雙向總線,按總線的邏輯結(jié)構(gòu)來說,總線可分為單向傳送總線和雙向傳送總線。 所謂單向總線,就是信息只能向一個方向傳送 所謂雙向總線,就是信息可以分兩個方向傳送,既可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù)。,2.5.4 定點運算器的基本結(jié)構(gòu),運算器
53、包括ALU陣列乘除器寄存器多路開關(guān)三態(tài)緩沖器數(shù)據(jù)總線等邏輯部件。 運算器的設(shè)計,主要是圍繞ALU和寄存器同數(shù)據(jù)總線之間如何傳送操作數(shù)和運算結(jié)果進行的。 在決定方案時,需要考慮數(shù)據(jù)傳送的方便性和操作速度,在微型機和單片機中還要考慮在硅片上制作總線的工藝。,2.6 浮點算術(shù)運算方法和浮點運算器,定點數(shù)的表示數(shù)據(jù)范圍太小,引入浮點數(shù)和相應(yīng)的浮點算術(shù)運算。 在浮點算術(shù)運算中,階碼和尾數(shù)都是定點數(shù),階碼是定點整數(shù),尾數(shù)是定點純小數(shù),浮點運算的規(guī)則可以歸結(jié)為定點運算規(guī)則,需要增加一個階碼的定點運算及運算結(jié)果的規(guī)格化操作。 一臺計算機究競采用浮點運算還是定點運算,要由具體使用對象對計算機的實際要求來決定。
54、微機、某些專用機及某些小型機往往采用定點運算,其浮點運算可通過軟件或增加擴展硬件來實現(xiàn)。 通用型計算機采用浮點運算或同時采用定點、浮點兩種運算,由使用者自由選擇。 為了使表示浮點數(shù)具有唯一性,使每一級計算的尾數(shù)能獲得最大的有效數(shù)字,以及程序處理的方便性,往往把浮點數(shù)表示為規(guī)格化的浮點數(shù),并采用規(guī)格化浮點數(shù)的運算。,1. 浮點加減法運算 (1/7),設(shè)兩個浮點數(shù)x和y分別為: x=Sx2Ex y=Sy2 Ey 其中,Ex、Ey分別是x和y的階碼,Sx和Sy是x、y的尾數(shù)。 假定它們都是規(guī)則化的數(shù),即其尾數(shù)絕對值總小于1(用補碼表示,允許為1),浮點加減運算的運算步驟如下:,1. 浮點加減法運算
55、(2/7),1 對階:小階向大階看齊 對階的第一步是求階差:E =Ex-Ey 若E =0,表示兩數(shù)階碼相等,即ExEy,不需要對階 若E 0,表明ExEy 若E 0,表明ExEy 對于ExEy的這種情況,需要對階。采用 “小階向大階看齊”的方法,即小階的尾數(shù)右移E 位,小階的階碼增加E 與大階相等。 2 尾數(shù)求和(差) 對階完成后,就按定點加減運算求兩數(shù)的尾數(shù)之和。,1. 浮點加減法運算 (3/7),3 規(guī)格化 (1)對于定點小數(shù),其規(guī)格化數(shù)為: 00.1xxx 11.0 xxx(原碼表示法) (2)對于負數(shù)的補碼表示法,規(guī)格化定義有所不同: 根據(jù)規(guī)格化浮點數(shù)的定義可知,規(guī)格化的尾數(shù)應(yīng)滿足:
56、S0時 1/2SS-1 理論上,S可等于-1/2,但-1/2補=11.1000,為了便于判別是否是規(guī)格化數(shù),不把-1/2列為規(guī)格化數(shù),而把-1列入規(guī)格化數(shù)。 -1補=11.000 補碼規(guī)格化的浮點數(shù)應(yīng)有兩種形式: 00.1xxx 11.0 xxx,1. 浮點加減法運算 (4/7),由此可知補碼規(guī)格化的條件是: (A)若和或差的尾數(shù)兩符號位相等且與尾數(shù)第一位相等,則需向左規(guī)格化。即將和或差的尾數(shù)左移,每移一位,和或差的階碼減一,直至尾數(shù)第一位與尾符不等時為止。 (B)若和或差的尾數(shù)兩符號位不等,即01.xxx或10.xxx形式,表示尾數(shù)求和(差)結(jié)果絕對值大于,向左破壞了規(guī)格化。此時應(yīng)該將和(差
57、)的尾數(shù)右移1位,階碼加,即進行向右規(guī)格化。 4 舍入 (1) “0舍1入”法,即右移時丟掉的最高位為0,則舍去;是1,則將尾數(shù)的末位加1(相當于進入)。 (2)“恒置1”法,即不管移掉的是0還是1,都把尾數(shù)的末位置1。,1. 浮點加減法運算 (5/7),5. 浮點數(shù)的溢出判斷:由階碼判斷是否溢出。 設(shè)階碼數(shù)值部分取7位,符號位取2位,用補碼表示,則能表示的最大階碼E補=001111111=127; 最小階碼E補=110000000=-128; (1)小于-128,稱為下溢:發(fā)生在左規(guī)時; 用機器0表示(階碼、尾數(shù)全0) (2)大于+127時,稱為上溢,這是浮點數(shù)的真正溢出 置溢出標志,作中斷
58、處理 總結(jié): E補=01 XXX為上溢,真正溢出,需做溢出處理。 E 補=10 XXX為下溢,浮點數(shù)值趨于零,用機器零表示。,1. 浮點加減法運算 (6/7),例 x = 0.11011001,y=- (0.1010)1011,求x+y=? 解: (1)對階: 假定兩數(shù)在計算機中采用補碼制,則 x補=0001,00.1101 Ex=0001 y補=0011,11.0110 Ey=0011 求階差:E =Ex-Ey=0001+1101=1110,即E =-2,表示x的階碼Ex小于y的階碼Ey,階差為-2,所以應(yīng)使x的尾數(shù)右移2位,階碼加2,則x補=0011, 00.0011,這時E =0,對階完畢。,1. 浮點加減法運算 (7/7),(2) 尾數(shù)求和(差) x和y對階后的尾數(shù)分別為:Sx補=00.0011,Sy補=11.0110 則 Sx補+Sy補=00.0011+11.0110=11.1001 x+y補=0011,11.1001 (3) 規(guī)格化 和的尾數(shù)的兩符號位相等,但小數(shù)點后的第一位也與符號位相等,不
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 母嬰抽獎活動方案
- 汽車儀表抽獎活動方案
- 泉州玩水活動策劃方案
- 桃子采摘節(jié)創(chuàng)意活動方案
- 汽貿(mào)園招商活動方案
- 每月開始活動方案
- 殘聯(lián)工會活動方案
- 河北裝修活動方案
- 歌會校園活動方案
- 民族團結(jié)宣傳活動方案
- 廣東省深圳市2023-2024學年高一下學期7月期末考試 政治 含解析
- 2025年浙教新版八年級地理下冊階段測試試卷
- 2025年衢州巨化集團有限公司招聘筆試參考題庫含答案解析
- GB/T 45092-2024電解水制氫用電極性能測試與評價
- 保定一中1 3數(shù)學試卷
- 2024-2025年第一學期少先隊工作總結(jié)(奏響成長)課件
- Unit2MyfavouriteseasonPartALet'stryLet'stalk(第1課時)分層作業(yè)-2024-2025學年英語五年級下冊(人教PEP版)
- 《鋰離子電池人造石墨類負極材料用原料焦》
- 中國移動5G手機產(chǎn)品白皮書(2025年版)-中國移動
- 課題十劃線鉆孔
- 精神病學睡眠覺醒障礙
評論
0/150
提交評論