計算機硬件技術基礎--數制和編碼_第1頁
計算機硬件技術基礎--數制和編碼_第2頁
計算機硬件技術基礎--數制和編碼_第3頁
計算機硬件技術基礎--數制和編碼_第4頁
計算機硬件技術基礎--數制和編碼_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1第第2 2章章數制和編碼2主要內容n計算機中的常用計數制、編碼及其相互間的計算機中的常用計數制、編碼及其相互間的轉換;轉換;n二進制數的算術運算和邏輯運算;二進制數的算術運算和邏輯運算;n符號數的表示及補碼運算;符號數的表示及補碼運算;n二進制數運算中的溢出問題;二進制數運算中的溢出問題;n基本邏輯門及譯碼器;基本邏輯門及譯碼器;n定點數與浮點數的表示方法。定點數與浮點數的表示方法。32.1 計算機中的數制n了解:各種計數制的特點及表示方法;了解:各種計數制的特點及表示方法;n掌握:各種計數制之間的相互轉換。掌握:各種計數制之間的相互轉換。4一、常用計數制n十進制十進制符合人們的習慣符合人們

2、的習慣n二進制二進制便于物理實現便于物理實現n十六進制十六進制便于識別、書寫便于識別、書寫5十進制n特點:以十為底,逢十進一;特點:以十為底,逢十進一; 共共有有0-90-9十個數字符號十個數字符號。n表示:表示:權表達式權表達式120112011101010101010nnmnnmniiimDDDDDDDn:整數位數m:小數位數6二進制n特點:以特點:以2為底,逢為底,逢2進位;進位; 只有只有0和和1兩個符號。兩個符號。(數后面加數后面加B)n表示:表示:12012n 12011( )222222nnmnmniiimBBBBBBBn:整數位數m:小數位數7十六進制n特點:有特點:有0-9及

3、及A-F共共16個數字符號,個數字符號, 逢逢16進位。進位。(數后面加數后面加H)n表示:表示:1201161n 2011()161616161616 nnmnmniiimHHHHHHHn:整數位數m:小數位數8任意任意K K進制數的表示進制數的表示一般地,對任意一個一般地,對任意一個K進制數進制數S都可表示為都可表示為120n 120111()nnknmmniiimSSKSKSKSKSKSK 其中: Si - S的第i位數碼,可以是K個符號中任何一個; n,m 整數和小數的位數; K - 基數; Ki - K進制數的權9例n234.98 或或 (234.98)10n1101.11B 或或

4、(1101.11)2nABCD . BFH 或或 (ABCD . BF)1610二、各數制間的轉換n非十進制數非十進制數 十進制數:十進制數: 按相應的按相應的權表達式權表達式展開展開,再按十進制求和。再按十進制求和。n例:例:24.AH=2161+4160+A16-1 =36.625注:AF分別用1015代入11十進制 非十進制數n十進制十進制 二進制:二進制: 整數:除整數:除2取余;取余; 小數:乘小數:乘2取整。取整。n十進制十進制 十六進制:十六進制: 整數:除整數:除16取余;取余; 小數:乘小數:乘16取整。取整。以小數點為起點求得整數和小數的每一位。以小數點為起點求得整數和小數

5、的每一位。注:十進制轉換成注:十進制轉換成任意任意K進制數進制數與上類似,整:除與上類似,整:除K取余,小數:乘取余,小數:乘K取整。取整。12十進制到十六進制轉換例400.25 = ( ? Hn400/16=25 -余數余數=0(個位)(個位)n25/16=1 -余數余數=9(十(十 n1/16=0 -余數余數=1(百位)(百位)n0.2516=4.0 -整數整數=4(1/10) 即:即:400.25 = 190.4H13二進制與十六進制間的轉換n用用4位二進制數表示位二進制數表示1位十六進制數位十六進制數 0000 - 0H 1001 - 9H 1010 - AH 1011 - BH 11

6、00 - CH 1101 - DH 1110 - EH 1111 - FH14二進制與十六進制間的轉換例:例: 10110001001.110 = (?)H 0101 1000 1001.1100 5 8 9 . C 注意:位數不夠時要補注意:位數不夠時要補0152.2 無符號二進制數的運算二進制數二進制數算術運算算術運算邏輯運算邏輯運算無符號數無符號數有符號數有符號數:算術運算算術運算16一、無符號數的算術運算n加法運算加法運算n減法運算減法運算n乘法運算乘法運算n除法運算除法運算17注意點:n對加法:對加法:1+1=0(有進位)(有進位)n對減法:對減法:0-1=1(有借位)(有借位)n對

7、乘法:僅有對乘法:僅有11=1,其余皆為,其余皆為0 0; 乘以乘以2相當于左移一位。相當于左移一位。n對除法:對除法: 除以除以2則相當于右移則相當于右移1位。位。18例n000010110100=00101100B n000010110100=00000010B 即:商即:商=00000010B 余數余數=11B19二、無符號數的表示范圍一個一個n位的無符號二進制數位的無符號二進制數X,其表示,其表示范圍為:范圍為: 0 0 X 2 2n n-1-1 若運算結果超出這個范圍,則產生溢出。若運算結果超出這個范圍,則產生溢出。溢出的溢出的判別方法:判別方法: 運算時,當最高位向更高位有進位(或

8、借位)運算時,當最高位向更高位有進位(或借位)時則產生溢出時則產生溢出。20 11111111 00000001 000001000最高位向前有進位,產生溢出。最高位向前有進位,產生溢出。本例中:運算結果為本例中:運算結果為256,超出位二進制數所,超出位二進制數所 能表示的范圍能表示的范圍255。21三、邏輯運算與與()或(或()非(非()異或(異或()掌握掌握:邏輯關系(真值表)和邏輯門。:邏輯關系(真值表)和邏輯門。特點:按位運算,無進位特點:按位運算,無進位/借位。借位。22“與”、“或”運算n任何數和任何數和“0”相相“與與”,結果為,結果為0n任何數和任何數和“1”相相“或或”,結

9、果為,結果為1BACABC&1AB=CAB=C23“非”、“異或”運算n“非非”運算即按位求反運算即按位求反n兩個二進制數相兩個二進制數相“異或異或”: 相同則為相同則為0,相異則為,相異則為1AABC1 B=AA B=CB24“與非”、“或非”運算AB=C AB=CBACABC&125四、譯碼器n74LS138譯碼器:譯碼器:G1G2AG2BCBAY0Y7 38譯碼器原理譯碼使能端譯碼輸入端譯碼輸出端2674LS138真值表真值表使使 能能 端端輸輸 入入 端端輸輸 出出 端端G1 G2A G2B C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 1 1 0 1

10、 1 0 1 0 01 0 01 0 01 0 01 0 01 0 01 0 01 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 272.3 符號數的表示及運

11、算計算機中的符號數的表示方法:計算機中的符號數的表示方法: 把二進制數的最高位定義為符號位把二進制數的最高位定義為符號位。 符號位:符號位:“0” 表示正,表示正, “1” 表示負。表示負。n把符號也數值化了的數,稱為把符號也數值化了的數,稱為機器數機器數。n機器數所表示的真實的數值,稱為機器數所表示的真實的數值,稱為真值真值。注:后面的講述均以8位二進制數為例。28例n+52 = +0110100 = 0 0110100 符號位符號位 數值位數值位 n-52 = -0110100 = 1 0110100 真值真值機器數機器數29一、符號數的表示:n對于符號數,機器數常用的表示方法有對于符號數

12、,機器數常用的表示方法有原碼原碼、反碼反碼和和補碼補碼三種。數三種。數X的原碼記作的原碼記作X原原,反碼記作,反碼記作X反反,補碼記作,補碼記作X補補。注意:對正數,三種表示法均相同。注意:對正數,三種表示法均相同。 它們的它們的差別在于對負數的表示差別在于對負數的表示。30原碼X原n最高位為符號位,用最高位為符號位,用“0”表示正,用表示正,用“1”表示負;表示負;數值部分照原樣寫出即可。數值部分照原樣寫出即可。n優點優點: 真值和其原碼表示之間的對應關真值和其原碼表示之間的對應關 系簡單,容易理解;系簡單,容易理解;n缺點缺點: 計算機中用原碼進行加減運算比計算機中用原碼進行加減運算比 較

13、困難,較困難,0的表示不唯一的表示不唯一。正式定義為:正式定義為:11122200-nnnXXXXX 原31數0的原碼n+0=0 0000000 -0=1 0000000 即:數即:數0的原碼不唯一。的原碼不唯一。32原碼的例子真值: X= +18 = +0010010X= -18 = -0010010原碼: X原 = 0 0010010X原 = 1 0010010符號符號位 n位原碼表示數值的范圍是:位原碼表示數值的范圍是: 對應的原碼是對應的原碼是1111 0111() ()112121nn 33反碼X反對一個數對一個數X:n若若X0 ,則,則 X反反=X原原n若若X0, 則則X補補= X

14、反反= X原原n若若X0, 則則X補補= X反反+1正式定義為:正式定義為:11222-nnnXXX 37例nX= 52= 0110100 X原原=10110100 X反反=11001011 X補補= X反反+1=11001100380的補碼n+0補補= +0原原=00000000n -0補補 = -0反反+1=11111111+1 =1 00000000 n位補碼表示數值的范圍是位補碼表示數值的范圍是對應的補碼是對應的補碼是1000 0111對對8位字長,進位被舍掉位字長,進位被舍掉 ()11221nn 39特殊數10000000n該數在原碼中定義為:該數在原碼中定義為:-0n在反碼中定義為

15、:在反碼中定義為: -127n在補碼中定義為:在補碼中定義為: -128n對無符號數,(對無符號數,(10000000)B=128408/16位符號數的表示范圍對對8位二進制數:位二進制數:n原碼:原碼: -127 +127n反碼:反碼: -127 +127n補碼:補碼: -128 +127對對16位二進制數:位二進制數:n原碼:原碼: -32767 +32767n反碼:反碼: -32767 +32767n補碼:補碼: -32768 +3276741符號二進制數與十進制的轉換對用補碼表示的二進制數:對用補碼表示的二進制數: 1)求出真值)求出真值 2)進行轉換)進行轉換42例將一個用補碼表示的

16、二進制數轉換為十進制數。將一個用補碼表示的二進制數轉換為十進制數。nX補補=0 0101110B 真值為:真值為:0101110B 正數正數 所以:所以:X=+46nX補補=1 1010010B 真值不等于:真值不等于:-1010010B 負數負數 而是:而是:X= X補補補補= 11010010補補 = - 0101110 = - 4643二、符號數的算術運算n通過引進補碼,可將減法運算轉換為加法運算。通過引進補碼,可將減法運算轉換為加法運算。n即:即:X+Y補補= X補補+Y補補 X-Y補補= X+(-Y)補補 = X補補+-Y補補其中其中X,Y為正負數均可,符號位參與運算。為正負數均可,

17、符號位參與運算。44補碼的運算是基于模的運算 模模(module)就是一個計數系統的最大容量就是一個計數系統的最大容量。例如鐘表例如鐘表的模為的模為12,8位二進制數的模為位二進制數的模為28,等等。,等等。 凡是用器件進行的運算都是有模運算,運算結果超過凡是用器件進行的運算都是有模運算,運算結果超過模的部分會被運算器模的部分會被運算器自動丟棄自動丟棄。因此,當器件為。因此,當器件為n位時,位時,有有 X=2n+X (mod 2n)根據定義,根據定義, X補補=2n+X (mod 2n)因此可得,因此可得, X Y補補= 2n + 2n + (X Y) (mod 2n) = (2n+X) +

18、(2n Y) (mod 2n) = X補補+ Y補補45例X=-0110100,Y=+1110100,求,求X+Y=?nX原原=10110100 nX補補= X反反+1=11001100nY補補= Y原原=01110100n所以:所以: X+Y補補= X補補+ Y補補 =11001100+01110100 =01000000 X+Y=+100000046符號數運算中的溢出問題n兩個兩個8位帶符號二進制數相加或相減時,位帶符號二進制數相加或相減時,若若 C7 C61 則結果產生溢出。則結果產生溢出。 其中:其中:C7為最高位的進為最高位的進(借借)位;位; C6為次高位的進為次高位的進(借借)位

19、。位。對16位或32位的運算,也有類似結論。47觀察以下四種情況哪個溢出? 1 0 1 1 0 1 0 1 + + 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 + + 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 + + 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1CASE1:CASE2:CASE3:假定以下運算都是有符號數的運算。假定以下運算都是有符號數的運算。 0 0 1 0 0 0 1 0 + + 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1C

20、ASE4:48例:n若:若:X=01111000, Y=01101001 則:則:X+Y=即:即:次高位向最高位有進位,而最高位向前無次高位向最高位有進位,而最高位向前無 進位,產生溢出。進位,產生溢出。 (事實上,兩正數相加得出負數,結果出錯)(事實上,兩正數相加得出負數,結果出錯)11100001 01101001 01111000 492.4 定點數與浮點數n定點數:小數點位置固定不變的數。定點數:小數點位置固定不變的數。n小數點的位置:小數點的位置:n純小數n純整數符號符號X1X2Xn小數點位置小數點位置符號符號X1X2Xn小數點位置小數點位置50浮點數n浮點數來源于科學記數法浮點數來

21、源于科學記數法n例如:+123.5=+0.123103 -0.001235=-0.12310-2n浮點數:用階碼和尾數表示的數,尾數通常為純小數。浮點數:用階碼和尾數表示的數,尾數通常為純小數。 2EF數符數符階階E階符階符尾數尾數F小數點位置小數點位置階碼階碼5180 x86中使用的IEEE標準浮點數n單精度浮點數(階碼偏移單精度浮點數(階碼偏移7FH)n雙精度浮點數(階碼偏移雙精度浮點數(階碼偏移3FFH)數符數符階階E(11位位)尾數尾數F(52位位) ,整數部分默認為,整數部分默認為1小數點位置小數點位置數符數符階階E(8位位)尾數尾數F(23位位),整數部分默認為,整數部分默認為1小

22、數點位置小數點位置 31 30 23 22 0 63 62 52 51 052例:n將將1011.10101用用8位階碼、位階碼、15位尾數的規格位尾數的規格化浮點數形式表示。化浮點數形式表示。解:因為解:因為1011.101010.10111010124 所以要求的浮點數為:所以要求的浮點數為:00000100101 1101 0100 00000階碼階符數符尾數(后補0到15位)n用用IEEE標準單精度浮點數重做上題。標準單精度浮點數重做上題。因為因為1011.101011.0111010123, 階為階為7FH+3=82H=10000010B所以要求的浮點數為:所以要求的浮點數為: 010000010011 1010 1000 0000 0000 0000532.4 計算機中的編碼用于表示非數值型數據。常用的二種:用于表示非數值型數據。常用的二種:lBCD碼碼l用二進制編碼的十進制數lASCII碼碼l美國標準信息交換代碼54BCD碼n壓縮壓縮BCD碼碼n用4位二進制碼表示一位十進制數,一個字節可放

溫馨提示

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

評論

0/150

提交評論