第1章 數(shù)制和碼制.doc_第1頁
第1章 數(shù)制和碼制.doc_第2頁
第1章 數(shù)制和碼制.doc_第3頁
第1章 數(shù)制和碼制.doc_第4頁
第1章 數(shù)制和碼制.doc_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

*微機組成:CPU、MEM、I/O微機的基本結(jié)構(gòu)微機原理(一):第一章 數(shù)制和碼制1.1 數(shù)制 (解決如何表示數(shù)值的問題)一、數(shù)制表示1、十進制數(shù) 表達(dá)式為:A 如:(34.6)10 3101 + 4100 + 610-12、X進制數(shù) 表達(dá)式為:B 如:(11.01)2 121 + 120 + 02-1+ 12-2 (34.65)16 3161 + 4160 + 616-1+ 516-2X進制要點:X為基數(shù),逢X進1,Xi為權(quán)重。(X個數(shù)字符號:0,1,X-1)區(qū)分符號:D-decimal (0-9),通常D可略去,B-binary (0-1), Q-octal (0-7), H-hexadecimal (0-9, A-F)常用數(shù)字對應(yīng)關(guān)系:D: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12, 13,14,15B:0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111H: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F二、數(shù)制轉(zhuǎn)換1、X 十方法:按權(quán)展開,逐項累加。 如: 34.6 Q 381 + 480 + 68-1 = 24 + 4 + 0.75 = 28.75 D2、十 X即:A十進制 B X進制 令整數(shù)相等,即得:A整數(shù) (BN-1XN-1 + + B1X1 )+ B0X0 此式一次除以X可得余數(shù)B0,再次除以X可得B1,如此直至得到BN-1 令小數(shù)相等,即得:A小數(shù) B-1X-1 +( B-2X-2 + + B-MX-M ) 此式一次乘X可得整數(shù)B-1,再次乘X可得B-2,如此直至得到B-M. 歸納即得轉(zhuǎn)換方法:除X取余,乘X取整。 (適用于任意進制轉(zhuǎn)換) 如:十 二: 25.375 D 11001.011 B 2 | 2 5 2 x 0.375 1 2 1 x 0.750 0 6 0 x 1.50 1 3 0 x 1.00 1 1 1 0 0 1 十 八:346.152 D 532.1157 Q (“四舍五入”改為“到半進一”) 8 | 3 4 6 8 x 0.152 4 3 2 x 1.216 1 5 3 x 1.728 1 0 5 x 5.824 5 x 6.592 6 x 4.736 4 3、二 十六 ,二 八 (簡捷方法) 方法:四合一,一分四;三合一,一分三。 自小數(shù)點開始: 如:二 十六:1011011.011001 B 0101 1011.0110 0100B 5B.64 H 十六 二:3A.5D H 0011 1010.0101 1101 B 二 八: 1011011.011001 B 001 011 011.011 001 B 133.31 Q 八 二:46.15 Q 100 110.001 101 B 三、數(shù)的運算1、算術(shù)運算加減乘除 如: 00110110 10011011 11 0011 + 01000111 - 01010110 10 011/ 1010 01111101 01000101 00 011 + 11 100 110 011 102、邏輯運算與或異非 如: 01110110 10010011 10000011 AND 01000111 OR 01010010 XOR 01010010 NOT 10010011 01000110 11010011 11010001 01101100 算法: 有0得0 有1得1 相同得0 每位取反 常用于:按位清0 按位置1 整體清0 整體取反四、BCD和ASCII1、BCD:二進制編碼的十進制數(shù) 即:十進制數(shù)的每一位用4位二進制數(shù)表示。優(yōu)點:比二進制更直觀,機器可識別。缺點:運算麻煩,需調(diào)整。 如: 36.9 (0011 0110.1001)BCD (0011 1001)BCD 39 , 注意:前者 00111001B 57分為:組合BCD (每字節(jié)放兩位),如:35 (0011 0101)BCD 分離BCD(每字節(jié)放一位),如:47 (xxxx 0100 xxxx 0111)BCD 用BCD碼運算時,結(jié)果要進行調(diào)整(否則,結(jié)果可能有誤): 加法調(diào)整:加6調(diào)整 (Di有進位嗎?Di9嗎?) 如: 0001 1001 19 0011 0110 36 BCD碼 + 0100 1000 48 + 0100 0111 47 BCD碼 0110 0001 61 (有進位) 0111 1101 7D ( 9 ) 非BCD碼 + 0000 0110 06 + 0000 0110 06 調(diào)整 0110 0111 67 1000 0011 83 變回BCD碼 減法調(diào)整:減6調(diào)整 (Di有借位嗎?) 如: 0110 0101 65 BCD碼 - 0011 0111 37 BCD碼 0010 1110 2E (有借位) 非BCD碼 - 0000 0110 06 調(diào)整 0010 1000 28 變回BCD碼2、ASCII:字符代碼(即用7位二進制數(shù)表示常用的字符,共27=128個。第8位通常用作校驗位。) 如: R 52H 1010010B 09 30H39H, AZ 41H5AH,+ 2BH 若加校驗位(ASCII共8位),則:偶校驗:補一校驗位,使1的總個數(shù)為偶數(shù)。 如:加偶校驗后,R的ASCII = 11010010B 奇校驗:補一校驗位,使1的總個數(shù)為奇數(shù)。如:加奇校驗后,R的ASCII = 01010010B1.2 碼制 (解決如何表示有符號數(shù)的問題) 機器數(shù):將符號數(shù)字化,并與數(shù)值結(jié)合在一起,形成的(適于機器識讀的)有符號數(shù)。真 值:機器數(shù)的實際數(shù)值(即符號沒經(jīng)數(shù)字化的有符號數(shù))。一、原碼和補碼 1、原碼 (積)定義:設(shè) |X| Xn-2X1 X0, 則 X原 0 Xn-2X1 X0, 當(dāng)X0 X原 1 Xn-2X1 X0, 當(dāng)X0 如:X1 +1001010 則X1原 01001010 X2 -1001010 則X2原 11001010 原碼真值范圍:1 11,0 11 , 即:最小,最大8位原碼的真值范圍:1 1111111,0 1111111,即:-127 +1272、補碼 (和) 同余概念:a NK a (mod K) (同余數(shù)相差模,同模內(nèi)則唯一。類似于:生日) 補碼定義: (n位補碼,mod 2n) X補 X, 當(dāng)0X2n-1 X補 2 n+X, 當(dāng)-2n-1X0 (編碼) 補碼實質(zhì),即:X補0-|X| * * D- + D+ ,(X0) (即代數(shù)和) 可見:正數(shù)的補碼同原碼,負(fù)數(shù)才有求補問題。以2n為模,稱2補碼。 n位補碼的真值范圍:1 00,0 11 ,即:-2n-1,+2n-1-1 8位補碼的真值范圍:1 0000000,0 1111111,即:-128 +127 補碼求法: 、按定義求: X補 2 n + X, X0 如:X -1001010B,n=8, 則X1補 2 8 + (-01001010B) 100000000B - 1001010B 10110110B (減法不方便)或:X1補 0-|X|00000000B-01001010B10110110B (結(jié)果相同) 、由原碼求:X補 X原 符號位不變,其余取反加1 *推導(dǎo):設(shè) X Xn-2X1 X0, (X0), 則 X原 2n-1 + Xn-2X1 X0, X補 2 n + X 2n-1 + 2n-1 + X 2n-1 + (11 + 1) + X 2n-1 + (11-|X|) + 1 2n-1 + + 1 X原符號不變、其余取反+1 如: X -1001010B,n8, 則 X原 11001010B X補 10110101B+1 10110110B (原碼補碼,更容易求)補碼原碼: X補補 X原 如:X補 10110110B, 則 X原 X補補 11001001B+1 11001010B 補碼真值: 由補碼變到原碼,再得出真值(正數(shù):原碼補碼;負(fù)數(shù):原碼=補碼的符號位不變、其余取反+1) 如:X1補 00110110B, 則,X1補真值 +0110110B +54 X2補 10110100B, 則 X2原 X2補補 11001011B+1 11001100BX2補真值 -1001100B -76 直接按正負(fù)代數(shù)和計算,得出真值 如:X2補 10110100B, 則X2補真值 -2 7 + 0110100B -128+52 -76求負(fù)運算: 設(shè) Y補 Yn-1Y1 Y0, 則 -Y補 + 1 ( 即:求負(fù)取反1, 易證:0XX反1)補碼運算: X+Y補 X補 Y補 , (mod 2n) ; (前后同余,不溢則同模) X-Y補 X補 Y補 X補-Y補 如:00100100B+11110001B00010101B 即:36補+-15補 21補溢出判別:( 溢出即超出了補碼的真值范圍:-2n-1,+2n-11 ) *推導(dǎo)如下:(易知:正+負(fù) 負(fù)+正 正+正? 負(fù)+負(fù)?) 00110000 +48補 10100000 -96補 + 10000000 -128補 + 01110000 +112補 10110000 -80補(進位00) 00010000 +16補(進位11) 01000000 +64補 10010000 -112補 + 01010000 +80補 + 10100000 -96補 10010000 -112補(進位01) 00110000 +48補(進位10)二、定點數(shù)和浮點數(shù) (解決如何使數(shù)值范圍足夠大的問題)1、定點數(shù):小數(shù)點位置固定(隱含)。 (特點:格式簡單、真值范圍?。?約定小數(shù)點在最高數(shù)值位之前,則為純小數(shù)。格式:1位符號位n位數(shù)值位 (原碼)真值范圍:(12-n),(12-n),即:0.11,0.11 絕對值:最大值為12-n,最小值為2-n 如:純小數(shù)定點數(shù)01001101B,真值為0.1001101B 純小數(shù)定點數(shù)10010010B,真值為0.0010010B 約定小數(shù)點在最低數(shù)值位之后,則為純整數(shù)。格式:1位符號位,n位數(shù)值位 (原碼)真值范圍:(2n1),(2n1,即:011,011 絕對值:最大值為2n1,最小值為1 如:純整數(shù)定點數(shù)01001111B,真值為01001111B 純整數(shù)定點數(shù)11010000B,真值為01010000B上溢:計算結(jié)果的絕對值大于定點數(shù)最大絕對值。下溢:計算結(jié)果的絕對值小于定點數(shù)最小絕對值。實際數(shù)并非都是純整數(shù)或純小數(shù),因此運算時需選擇“比例因子”,以化成純整數(shù)或純小數(shù),并要防止結(jié)果“上溢”或“下溢”。2、浮點數(shù):由階碼和尾數(shù)表示(小數(shù)點浮動)。(特點:格式復(fù)雜、真值范圍大)其中,階碼是純整數(shù),尾數(shù)是純小數(shù)。E和F可用原碼或補碼。真值小數(shù)點的實際位置由階符和階碼決定,因此是浮動的。 對應(yīng)真值:N = F2 E = d2 P 真值范圍:-(1-2-n) ,+(1-2-n) (范圍遠(yuǎn)大于定點數(shù))絕對值:最大值為(1-2-n),最小值為2-n 規(guī)格化浮點數(shù):尾數(shù)(絕對值)首位為1的浮點數(shù)。(這樣有效位數(shù)最多)比較:0.1110011B24 和0.0001110B27 ,顯然前者有效位數(shù)多。 例:設(shè)X = -13.5625,請用規(guī)格化浮點數(shù)表示(假定E用8位原碼,F(xiàn)用16位補碼)。 解:X = -13.5625 = -1101.1001B = (-0.11011001B)2 +4 E = +4 = 00000100B (8位原碼,純整數(shù))F = -0.11011001B = -0.110 1100 1000 0000 B (擴至16位)= 10010011 10000000 B (16位補碼,純小數(shù))故X的規(guī)格化浮點數(shù)為:00000100 10010011 10000000B *另外,若F用補碼,則有如下形式: 正數(shù):0.1* *, F01* * ; ( 0.5X1 ) 負(fù)數(shù):0.1* *, F10x x ; (1X0.5 ) 如:(0.1010011B)補碼 01010011B (0.1010011B)補碼 10101101B 顯然,首位可省去,符號仍明確,但尾數(shù)可多一位(精度更高)。 浮點數(shù)在加減之前,先要對階(即對齊小數(shù)點)。對階規(guī)則:階碼小的尾數(shù)右移(每右移1位,階碼加1),直至兩數(shù)階碼相等為止。* 計算機中的數(shù)串可代表:有符號數(shù)、無符號數(shù)、BCD、ASCII、原碼、補碼、定點數(shù)、浮點數(shù)、指令代碼等。究竟是何含義,由編程者約定??醋鳠o符號數(shù),加法時可能有進位,減法時可能有借位。進位或借位是結(jié)果的一部分??醋饔蟹枖?shù),進位或借位不是結(jié)果,但可用于判斷結(jié)果是否溢出。不管是無符號數(shù)運算還是有符號數(shù)運算,計算機都會把進位或借位情況保存在CF,溢出標(biāo)志保存在OF,供編程者使用。 本章小結(jié) 十、二、十六進制數(shù)的表示方法和相互轉(zhuǎn)換 二進制數(shù)的算術(shù)運算和邏輯運算規(guī)則 BCD碼的表示和運算規(guī)則,ASCII的表示及校驗設(shè)置 有符號數(shù)的原碼、補碼表示法,補碼運算規(guī)則及溢出判別 定點數(shù)、浮點數(shù)的表示及含義習(xí)題一1、十進制 二進制:73.8125 =2、十進制 十六進制:299.34375 =3、二進制 十進制:10010010.001B =4、十六進制 十進制:8F.7H =5、已知

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論