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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

*微機組成:CPU、MEM、I/O微機的基本結構微機原理(一):第一章 數制和碼制1.1 數制 (解決如何表示數值的問題)一、數制表示1、十進制數 表達式為:A 如:(34.6)10 3101 + 4100 + 610-12、X進制數 表達式為:B 如:(11.01)2 121 + 120 + 02-1+ 12-2 (34.65)16 3161 + 4160 + 616-1+ 516-2X進制要點:X為基數,逢X進1,Xi為權重。(X個數字符號:0,1,X-1)區分符號:D-decimal (0-9),通常D可略去,B-binary (0-1), Q-octal (0-7), H-hexadecimal (0-9, A-F)常用數字對應關系: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二、數制轉換1、X 十方法:按權展開,逐項累加。 如: 34.6 Q 381 + 480 + 68-1 = 24 + 4 + 0.75 = 28.75 D2、十 X即:A十進制 B X進制 令整數相等,即得:A整數 (BN-1XN-1 + + B1X1 )+ B0X0 此式一次除以X可得余數B0,再次除以X可得B1,如此直至得到BN-1 令小數相等,即得:A小數 B-1X-1 +( B-2X-2 + + B-MX-M ) 此式一次乘X可得整數B-1,再次乘X可得B-2,如此直至得到B-M. 歸納即得轉換方法:除X取余,乘X取整。 (適用于任意進制轉換) 如:十 二: 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、二 十六 ,二 八 (簡捷方法) 方法:四合一,一分四;三合一,一分三。 自小數點開始: 如:二 十六: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 三、數的運算1、算術運算加減乘除 如: 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:二進制編碼的十進制數 即:十進制數的每一位用4位二進制數表示。優點:比二進制更直觀,機器可識別。缺點:運算麻煩,需調整。 如: 36.9 (0011 0110.1001)BCD (0011 1001)BCD 39 , 注意:前者 00111001B 57分為:組合BCD (每字節放兩位),如:35 (0011 0101)BCD 分離BCD(每字節放一位),如:47 (xxxx 0100 xxxx 0111)BCD 用BCD碼運算時,結果要進行調整(否則,結果可能有誤): 加法調整:加6調整 (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 調整 0110 0111 67 1000 0011 83 變回BCD碼 減法調整:減6調整 (Di有借位嗎?) 如: 0110 0101 65 BCD碼 - 0011 0111 37 BCD碼 0010 1110 2E (有借位) 非BCD碼 - 0000 0110 06 調整 0010 1000 28 變回BCD碼2、ASCII:字符代碼(即用7位二進制數表示常用的字符,共27=128個。第8位通常用作校驗位。) 如: R 52H 1010010B 09 30H39H, AZ 41H5AH,+ 2BH 若加校驗位(ASCII共8位),則:偶校驗:補一校驗位,使1的總個數為偶數。 如:加偶校驗后,R的ASCII = 11010010B 奇校驗:補一校驗位,使1的總個數為奇數。如:加奇校驗后,R的ASCII = 01010010B1.2 碼制 (解決如何表示有符號數的問題) 機器數:將符號數字化,并與數值結合在一起,形成的(適于機器識讀的)有符號數。真 值:機器數的實際數值(即符號沒經數字化的有符號數)。一、原碼和補碼 1、原碼 (積)定義:設 |X| Xn-2X1 X0, 則 X原 0 Xn-2X1 X0, 當X0 X原 1 Xn-2X1 X0, 當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) (同余數相差模,同模內則唯一。類似于:生日) 補碼定義: (n位補碼,mod 2n) X補 X, 當0X2n-1 X補 2 n+X, 當-2n-1X0 (編碼) 補碼實質,即:X補0-|X| * * D- + D+ ,(X0) (即代數和) 可見:正數的補碼同原碼,負數才有求補問題。以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 (結果相同) 、由原碼求:X補 X原 符號位不變,其余取反加1 *推導:設 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 補碼真值: 由補碼變到原碼,再得出真值(正數:原碼補碼;負數:原碼=補碼的符號位不變、其余取反+1) 如:X1補 00110110B, 則,X1補真值 +0110110B +54 X2補 10110100B, 則 X2原 X2補補 11001011B+1 11001100BX2補真值 -1001100B -76 直接按正負代數和計算,得出真值 如:X2補 10110100B, 則X2補真值 -2 7 + 0110100B -128+52 -76求負運算: 設 Y補 Yn-1Y1 Y0, 則 -Y補 + 1 ( 即:求負取反1, 易證:0XX反1)補碼運算: X+Y補 X補 Y補 , (mod 2n) ; (前后同余,不溢則同模) X-Y補 X補 Y補 X補-Y補 如:00100100B+11110001B00010101B 即:36補+-15補 21補溢出判別:( 溢出即超出了補碼的真值范圍:-2n-1,+2n-11 ) *推導如下:(易知:正+負 負+正 正+正? 負+負?) 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)二、定點數和浮點數 (解決如何使數值范圍足夠大的問題)1、定點數:小數點位置固定(隱含)。 (特點:格式簡單、真值范圍小) 約定小數點在最高數值位之前,則為純小數。格式:1位符號位n位數值位 (原碼)真值范圍:(12-n),(12-n),即:0.11,0.11 絕對值:最大值為12-n,最小值為2-n 如:純小數定點數01001101B,真值為0.1001101B 純小數定點數10010010B,真值為0.0010010B 約定小數點在最低數值位之后,則為純整數。格式:1位符號位,n位數值位 (原碼)真值范圍:(2n1),(2n1,即:011,011 絕對值:最大值為2n1,最小值為1 如:純整數定點數01001111B,真值為01001111B 純整數定點數11010000B,真值為01010000B上溢:計算結果的絕對值大于定點數最大絕對值。下溢:計算結果的絕對值小于定點數最小絕對值。實際數并非都是純整數或純小數,因此運算時需選擇“比例因子”,以化成純整數或純小數,并要防止結果“上溢”或“下溢”。2、浮點數:由階碼和尾數表示(小數點浮動)。(特點:格式復雜、真值范圍大)其中,階碼是純整數,尾數是純小數。E和F可用原碼或補碼。真值小數點的實際位置由階符和階碼決定,因此是浮動的。 對應真值:N = F2 E = d2 P 真值范圍:-(1-2-n) ,+(1-2-n) (范圍遠大于定點數)絕對值:最大值為(1-2-n),最小值為2-n 規格化浮點數:尾數(絕對值)首位為1的浮點數。(這樣有效位數最多)比較:0.1110011B24 和0.0001110B27 ,顯然前者有效位數多。 例:設X = -13.5625,請用規格化浮點數表示(假定E用8位原碼,F用16位補碼)。 解:X = -13.5625 = -1101.1001B = (-0.11011001B)2 +4 E = +4 = 00000100B (8位原碼,純整數)F = -0.11011001B = -0.110 1100 1000 0000 B (擴至16位)= 10010011 10000000 B (16位補碼,純小數)故X的規格化浮點數為:00000100 10010011 10000000B *另外,若F用補碼,則有如下形式: 正數:0.1* *, F01* * ; ( 0.5X1 ) 負數:0.1* *, F10x x ; (1X0.5 ) 如:(0.1010011B)補碼 01010011B (0.1010011B)補碼 10101101B 顯然,首位可省去,符號仍明確,但尾數可多一位(精度更高)。 浮點數在加減之前,先要對階(即對齊小數點)。對階規則:階碼小的尾數右移(每右移1位,階碼加1),直至兩數階碼相等為止。* 計算機中的數串可代表:有符號數、無符號數、BCD、ASCII、原碼、補碼、定點數、浮點數、指令代碼等。究竟是何含義,由編程者約定。看作無符號數,加法時可能有進位,減法時可能有借位。進位或借位是結果的一部分。看作有符號數,進位或借位不是結果,但可用于判斷結果是否溢出。不管是無符號數運算還是有符號數運算,計算機都會把進位或借位情況保存在CF,溢出標志保存在OF,供編程者使用。 本章小結 十、二、十六進制數的表示方法和相互轉換 二進制數的算術運算和邏輯運算規則 BCD碼的表示和運算規則,ASCII的表示及校驗設置 有符號數的原碼、補碼表示法,補碼運算規則及溢出判別 定點數、浮點數的表示及含義習題一1、十進制 二進制:73.8125 =2、十進制 十六進制:299.34375 =3、二進制 十進制:10010010.001B =4、十六進制 十進制:8F.7H =5、已知

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論