微機原理及接口技術 第2章 計算機中的數制和碼制課件_第1頁
微機原理及接口技術 第2章 計算機中的數制和碼制課件_第2頁
微機原理及接口技術 第2章 計算機中的數制和碼制課件_第3頁
微機原理及接口技術 第2章 計算機中的數制和碼制課件_第4頁
微機原理及接口技術 第2章 計算機中的數制和碼制課件_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第二章 計算機中的數制和碼制基本要求: 熟悉并掌握計算機中信息的表示方法,熟練掌握各數制,碼制間的轉換基本內容:無符號數的表示方法及運算主要是十進制、二進制、十六進制、八進制及其互相轉換有符號數的表示方法,主要有原碼、補碼、反碼及其相互關系幾種常用編碼,BCD碼,ASC碼重點內容: 數制相互轉換,碼制相互關系及運算、BCD碼表示難點內容: 原碼、補碼、反碼相互運算,十進制向二進制轉換12.1 數和數制第二章 計算機中的數制和碼制1、常用的數制1)十進制 最常用,不詳講。 由十進制表示方法推導出任意進制的表示方法。如: 則任意進制的數N進位基數位權相應系數m,n為正整數2第二章 計算機中的數制和

2、碼制1、常用的數制2)二進制 計算機內部的信息分為兩大類:控制信息:是一系列的控制命令,用于指揮計算機如何操作;數據信息:是計算機操作的對象,一般又可分為數值數據和非數值數據。數值數據用于表示數量的大小,它有確定的數值;非數值數據沒有確定的數值,它主要包括字符、漢字、邏輯數據等等。 3第二章 計算機中的數制和碼制1、常用的數制2)二進制 計算機中不論是控制命令還是數據信息,它們都要用“0”和“1”兩個基本符號(即基2碼)來編碼表示物理上容易實現。例如,用“1”和“0”表示高、低兩個電位,或表示脈沖的有無,還可表示脈沖的正、負極性等等,可靠性都較高。編碼、加減運算規則簡單。“1”和“0”正好與邏

3、輯數據“真”與“假”相對應,邏輯運算方便。4第二章 計算機中的數制和碼制1、常用的數制2)二進制 計數特征:逢二進一,運算簡單。 二進制數也可完成加、減、乘、除四則運算,乘法實質上是做移位加法,除法則是移位減法。末尾必須以“B”結尾 。5第二章 計算機中的數制和碼制2、常用數制之間的轉換1)二進制轉換為十進制 方法:按位權展開相加如:101101.101B = D125+024+123+122+021+120+12-1+02-2+12-332+0+8+4+0+1+0.5+0+0.12545.625D直接寫出相加也可7第二章 計算機中的數制和碼制2、常用數制之間的轉換2)十進制轉換為二進制 方法

4、1:降冪法寫出要轉換的十進制數,其次寫出小于此數的各位二進制權值,然后用要轉換的十進制數減去與它最近的二進制權值,夠減則減去,并記以1,不夠減則跳過并記以0,直到讀數為0為止。例:將199D轉化為二進制為 B。 8第二章 計算機中的數制和碼制2、常用數制之間的轉換2)十進制轉換為二進制 方法1:降冪法對于小數也一樣,只是從0.5向后減直到結果為0。例:將N0.8125D寫為二進制 1)、寫權值 0.5、0.25、0.125、0.0625 2) 、減 0.8125-0.5 0.3125 1 0.3125-0.25 0.0625 1 0.0625-0.125 不夠 0 0.0625-0.06250

5、 1 所以 N0.8125D0.1101B 如果給定的十進制數有整數也有小數可分別計算10第二章 計算機中的數制和碼制2、常用數制之間的轉換2)十進制轉換為二進制 方法2:除法整數不斷除以2,記下余數,直到商為0。 除2取余小數不斷乘以2,記下整數位,直到小數為0 乘2取整例:N199D寫為二進制數為 B 例:N0.8125D寫為二進制 B 11第二章 計算機中的數制和碼制2、常用數制之間的轉換2)十進制轉換為二進制 方法2:除法12第二章 計算機中的數制和碼制5)十進制與十六進制轉換方法:與二進制和十進制轉換相同。十六進制十進制:按權展開十進制十六進制:整數“除十六取余法”,小數“乘十六取整

6、法”例:將N48956D轉換為十六進制 14第二章 計算機中的數制和碼制 計算機只識別0和1組成的數或代碼,所以有符號數的符號也只能用0和1來表示,用0表示正,用1表示負,但由于數值部分的表示方法不同,有符號數可有三種表示方法,分別叫做原碼、反碼和補碼。2.2 有符號數在計算機中的表示15第二章 計算機中的數制和碼制8位字長數的原碼表示范圍為-127+127數0有兩種表示方法:+0原 00000000 -0原 10000000字長為n的機器中, 數X的原碼表示為1、原碼 以字長n=4為例,-6D=1110B17第二章 計算機中的數制和碼制編碼規則:1、正數的反碼與原碼相同,最高位為0,表示正號

7、,其余為數值位例:(+4)反 00000100 (+127)反 011111112、反碼 2、負數的反碼表示為它的原碼除符號位外按位取反,換言之,負數的反碼表示為它的正數原碼按位求反。 (-4)反 11111011 先寫其正數的原碼再按位求反 (-127)反10000000 18特點:“0”有兩種表示方法。 (+0)反00000000 (-0)反111111118位二進制反碼表示范圍為+127-127由反碼表帶符號數時,最高位為符號位。符號位為0時,后面部分為此數的值;符號位為1時,后面部分不是此數值,而是將其按位取反后的值 第二章 計算機中的數制和碼制2、反碼19第二章 計算機中的數制和碼制

8、例:說出10010100(反碼表示)的真值 答案:(107)10運算法則: X+Y反=X反+Y反+進位 X反反=X原注意事項:1、符號位要參予運算 2、最高位若產生進位,應將此進位送回最低位。相加循環進位。例:X+13 Y-6 求X+Y=?2、反碼20第二章 計算機中的數制和碼制編碼規則: 正數的補碼與原碼相同;負數的補碼即為它的反碼在最低位加1,或對其正數的原碼按位求反末位加1得到例:+127補01111111 +4補00000100 -127補10000001 -4補 11111100 特點:0的補碼唯一:+0補=-0補=000000008字長時表示范圍是+127-128補碼表示的二進制數

9、的最高位是0時,其余位是其大小;最高為1時,其它位按取反,末位加1,才是其大小 .3、補碼求補運算21第二章 計算機中的數制和碼制3、補碼運算法則:X+Y補X補+Y補 X- Y補X補 + - Y補注意:1)、符號位參與運算 2)、有進位舍去 計算X1 + Y1。 + 0001100 X1 0 0001100X1補+) + 0000101 Y1 +) 0 0000101Y1補 + 0010001 X1+Y1 0 0010001X1補+Y1補22用補碼做運算時有個前提條件,就是運算結果不能超出機器數所能表示的范圍,否則運算結果不正確,按“溢出”處理。例:設機器字長為8位,則128N+127,計算(

10、+64)+(+65)。得到的結果是錯誤的。其原因是:(+64)+(+65)= +129+127,超出了字長為8位所能表示的最大值,產生了“溢出”,所以結果值出錯。 + 640 1000000+) + 65+)0 1000001 +129為負數1 0000001127第二章 計算機中的數制和碼制24例:(125)+(10)=-135計算結果也是錯誤的。其原因是:(125)+(10)= 135128,超出了字長為8位所能表示的最小值,產生了“溢出”,所以結果出錯。采用補碼做運算時必須對運算結果做“溢出”檢查。 1251 0000011+) 10+)1 1110110 135 10 1111001+

11、121舍棄正數符號第二章 計算機中的數制和碼制25 例 將十進制數67.9轉換成BCD碼。其過程如下: 6 7.9 01100111.1001所以(67.9)10=(01100111.1001)BCD 例 將BCD碼10010110.0110轉換成十進制數,其過程如下:1001 0110.011096.6所以(10010110.0110)BCD=(96.6)10第二章 計算機中的數制和碼制27運算規則:BCD碼是十進制數,而運算器對數據做加減運算時,都是按二進制運算規則進行處理的。這樣,當將BCD碼傳送給運算器進行運算時,其結果需要修正。修正的規則是:當兩個BCD碼相加,如果和等于或小于100

12、1(即9H),不需要修正;如果相加之和在1010到1111(即0AH0FH)之間,則需加6H進行修正;如果相加時本位產生了進位,也需加6H進行修正。這樣做的原因是,機器按二進制相加,所以4位二進制數相加時,是按“逢十六進一”的原則進行運算的,而實質上是2個十進制數相加,應該按“逢十進一”的原則相加,16與10相差6,所以當和超過9或有進位時,都要加6進行修正。第二章 計算機中的數制和碼制28例 計算1+8的值,其運算過程如下: 0 0 0 1+) 1 0 0 0 1 0 0 1結果是1001,即十進制數9,1 + 8 = 9正確。 計算5+7的值。 0 1 0 1+) 0 1 1 1 1 1

13、0 0 結果大于9 +) 0 1 1 0 加6修正 1 0 0 1 0結果是0010,即十進制數2,還產生了進位。5 + 7 = 12,結論正確。第二章 計算機中的數制和碼制29 計算9 + 9的值。 1 0 0 1+) 1 0 0 1 1 0 0 1 0+) 0 1 1 0 1 1 0 0 0 結果是1000,即十進制的8,還產生進位,故加6修正。9+ 9 =18,結論正確。第二章 計算機中的數制和碼制30 若做BCD碼減法運算,其修正規則為:當兩個BCD碼相減,如果差等于或小于1001,不需要修正;如果相減時本位產生了借位,則應減6H加以修正。原因是:如果有借位,機器將這個借位當十六看待,

14、而實際上應該當十看待,因此,應該將差值再減6H才是BCD碼的正確結果值。下面舉兩個例子進行說明。 計算9-7的值。 1 0 0 1) 0 1 1 1 0 0 1 0結果值是0010,即十進制數2。97 = 2,結論正確。第二章 計算機中的數制和碼制31計算7-9的值。 結果值是1000,即十進制數8,有借位。79 = 8,結論正確。(8是2以10為模的補碼, 9是1以10為模的補碼,在機器中,負數都以補碼形式表示) 1 0 1 1 1) 1 0 0 1 1 1 1 0) 0 1 1 0 減6修正 1 0 0 0發生借位發生借位 1 1 0 0 0) 1 0 0 1 1 1 1 1) 0 1 1

15、 0 減6修正 1 0 0 1計算8-9的值。第二章 計算機中的數制和碼制32 在計算機中BCD碼有兩種格式:壓縮BCD碼和非壓縮BCD碼: (1) 非壓縮BCD碼:1字節(8位二進制)中僅表示一位BCD數,例如:(00000110)BCD=6。 (2) 壓縮BCD碼:1字節中僅表示兩位BCD數,例如:(01100110)BCD=66。 另外,BCD碼除了采用上述方法調整以外,也可以在交付計算機運算之前,先將BCD碼轉換為二進制數,然后交付計算機運算,運算以后再將二進制結果轉換為BCD碼。第二章 計算機中的數制和碼制332.4 字符編碼 在計算機中所處理的并非全部為數字,還有字母符號,如A、B

16、、C、D、回車、等等,而計算機只認識二進制,所以這些內容也必須用二進制表示。 一般微機中用的是美國標準信息交換碼ASC碼,國際通用。ASC碼由7位二進制編碼來表示128個字符,包括數字09,最高位為奇偶校驗碼(見附錄A)一些常用的ASC碼最好記住,便于編程和閱讀程序回車CR:0DH AZ:41H5AH 換行LF:0AH 09:30H39H ESC 鍵:1BH az :61H7AH第二章 計算機中的數制和碼制342.5 漢字在計算機中的表示 漢字的特點是字數多,字形復雜。據統計,高頻率使用的字有100個,常用字有1000個,次常用字為4000個,再加上一些少見字、罕見字,漢字共計有15000個。

17、 16位的二進制數可以表示65536個無符號數。所以,只要能給每個漢字分配唯一的一個16位的二進制數來表示就可以了。 352.5 漢字在計算機中的表示 漢字的特點是字數多,字形復雜。據統計,高頻率使用的字有100個,常用字有1000個,次常用字為4000個,再加上一些少見字、罕見字,漢字共計有15000個。 16位的二進制數可以表示65536個無符號數。所以,只要能給每個漢字分配唯一的一個16位的二進制數來表示就可以了。 362.5 漢字在計算機中的表示 為了將這么多的漢字可以輸入到計算機中,需要對這些漢字進行編碼,這就形成了各種各樣的輸入法,如智能ABC、五筆、全拼以及雙拼等等。每一種輸入法其實都對應了一種漢字鍵盤輸入的編碼,這種編碼稱為外部碼。不管用什么輸入法,當漢字輸入到計算機中時,必須有一個唯一的16位的二進制數與其對應,這又

溫馨提示

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

評論

0/150

提交評論