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

下載本文檔

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

文檔簡介

1、1微機原理及應用授課人:李艷華攀枝花學院計算機學院2第1章 微型計算機基礎知識v本章主要內容:微型計算機概述計算機中數(shù)及其編碼計算機中數(shù)的運算方法31.1 微型計算機系統(tǒng)概述v1.1.1 微處理器和微型計算機的發(fā)展及應用微處理器和微型計算機的發(fā)展及應用v微處理器微處理器地位:對于計算機來說,就好比心臟對人一樣重地位:對于計算機來說,就好比心臟對人一樣重要。要。發(fā)展:低級到高級,簡單向復雜發(fā)展:低級到高級,簡單向復雜4v第一代(第一代(19711973)是)是4位和低檔位和低檔8位微機。主要產位微機。主要產品有品有4004及及8008微處理機,分別組成微處理機,分別組成MCS-4和和MCS-8的

2、微型計算機。的微型計算機。v第二代(第二代(19731978)是中高檔)是中高檔8位微機。以位微機。以8080和和8085等為等為CPU的微型機為典型代表。的微型機為典型代表。v第三代(第三代(19781981)是)是16位微機。如以位微機。如以8086、8088及及80286等為等為CPU的微型機。的微型機。v第四代(第四代(19811992)是)是32位微機。典型的位微機。典型的CPU產品產品有有80386、80486等。等。v第五代(第五代(1993年以后)是年以后)是64位微機。代表產品為位微機。代表產品為Pentium、 Pentium Pro、 Pentium MMX、 Penti

3、um II、 Pentium III、 Pentium 4等一系列等一系列CPU產品。產品。5早期早期4004MCS-41972年年8008MCS-819738080(第一個現(xiàn)代的第一個現(xiàn)代的8位微處理器位微處理器)改進芯片改進芯片8085(兼容(兼容8080)19788086(16位)位)19798088 (16位)位)198280286(16位位DB,24位位AB-CISC)198580386(32位位DB,32位位AB)198980486(一級(一級Cache、流水線技術、流水線技術、FPU)486DX2、486DX4(倍頻技術)(倍頻技術)1993Pentium(奔騰,(奔騰,64位位

4、DB、32位位AB、RISC、兩個一級、兩個一級Cache)1995Pentium Pro(高能奔騰,(高能奔騰,RISC、14級流水線、二級級流水線、二級Cache、36位位AB)1997Pentium MMX(多能奔騰,(多能奔騰,SIMD、多媒體指令、分支預測、返回堆棧)、多媒體指令、分支預測、返回堆棧)1997Pentium II(二級(二級Canche、MMX、動態(tài)執(zhí)行技術)、動態(tài)執(zhí)行技術)1999 Pentium III(二級(二級Cache、動態(tài)執(zhí)行、雙重獨立總線、動態(tài)執(zhí)行、雙重獨立總線、MMX、SSE)2000 Pentium 4(SSE2、L2Cache、20級流水線、級流水

5、線、ADE)2005-Pentium D(兩個處理核心,兩個處理核心,3.6GHz)2006-Core 2(酷??犷?)2008-Core i7(四核處理器四核處理器) 2009-Clarkdale(3.33-3.5GHz,雙核雙核4線程,首次集成圖形核心線程,首次集成圖形核心)6微型計算機的發(fā)展v一方面,提高微處理器的性能一方面,提高微處理器的性能提高大規(guī)模集成電路的集成度和速度,采用流水提高大規(guī)模集成電路的集成度和速度,采用流水線技術,高速緩沖存儲器技術、虛擬存儲器管理線技術,高速緩沖存儲器技術、虛擬存儲器管理技術、并行處理技術以及精簡指令集技術、并行處理技術以及精簡指令集RISC等技等技

6、術術v一方面,提高整個微型計算機系統(tǒng)的性能一方面,提高整個微型計算機系統(tǒng)的性能采用多處理機并行處理技術,提高系統(tǒng)可靠性、采用多處理機并行處理技術,提高系統(tǒng)可靠性、充分利用資源及進行分布處理等充分利用資源及進行分布處理等7v微型計算機的特點:功能強、產量大、體積微型計算機的特點:功能強、產量大、體積小、價格便宜、性能可靠、適應性強等小、價格便宜、性能可靠、適應性強等v微型計算機的應用:主要有科學與工程計算、微型計算機的應用:主要有科學與工程計算、數(shù)據(jù)處理和信息加工、實時控制、計算機輔數(shù)據(jù)處理和信息加工、實時控制、計算機輔助設計、智能模擬等助設計、智能模擬等8概述概述微型計算機系統(tǒng)的基本組成和各部

7、件功能微型計算機系統(tǒng)的基本組成和各部件功能v微型計算機系統(tǒng)及其組成v微型計算機系統(tǒng):是指以微型計算機為主體,再配以相應的外圍設備、電源、輔助電路和所需要的軟件而構成的計算機系統(tǒng)。常用的外圍設備有顯示器、打印機、鍵盤等;系統(tǒng)軟件一般包括操作系統(tǒng)、編譯、編輯、匯編軟件等。v微處理器、微型計算機和微型計算機系統(tǒng)三者關系9微型計算機的典型結構及工作原理10v以實際系統(tǒng)為基礎經以實際系統(tǒng)為基礎經過簡化的過簡化的8位微機的位微機的典型模型開始典型模型開始v1、微機硬件系統(tǒng)連、微機硬件系統(tǒng)連接接右圖所示為一種典型右圖所示為一種典型微機硬件系統(tǒng)的結構。微機硬件系統(tǒng)的結構。存儲器存儲器CPU存儲器存儲器接口電路

8、接口電路 接口電路接口電路外圍設備外圍設備外圍設備外圍設備總線總線11v微機的核心部件微機的核心部件CPU是靠是靠三組總線三組總線(又稱板間又稱板間總線或內總線總線或內總線)將存儲器、將存儲器、I/O接口連接起來。接口連接起來??偩€包括:地址總線、數(shù)據(jù)總線和控制總線??偩€包括:地址總線、數(shù)據(jù)總線和控制總線。CPU、存儲器和所有存儲器和所有I/O設備之間的信息交換都設備之間的信息交換都是通過總線進行。是通過總線進行。各部件均以同一形式掛在總線上,結構簡單,易各部件均以同一形式掛在總線上,結構簡單,易于擴充。目前絕大多數(shù)微機硬件均采用這種結構。于擴充。目前絕大多數(shù)微機硬件均采用這種結構。12總線(

9、Bus)v1)數(shù)據(jù)總線數(shù)據(jù)總線DB(Data Bus):用于傳送數(shù)據(jù)信息,其用于傳送數(shù)據(jù)信息,其位數(shù)與處理器字長相等位數(shù)與處理器字長相等?!皵?shù)據(jù)數(shù)據(jù)”,在計算機中有較廣的涵義,可以是真正,在計算機中有較廣的涵義,可以是真正的數(shù)據(jù),也可以是指令代碼、某些狀態(tài)信息等的數(shù)據(jù),也可以是指令代碼、某些狀態(tài)信息等雙向傳送數(shù)據(jù)。雙向傳送數(shù)據(jù)。8位微機的位微機的8根數(shù)據(jù)線分別表示為根數(shù)據(jù)線分別表示為D7D0, ,D0為最低為最低位。位。13v2)地址總線AB(Address Bus):傳送地址信息,是微處理器用來尋址存儲器單元或I/O接口用的總線??偩€寬度(位數(shù))將決定微處理器當前可尋址的內存儲器容量范圍。如

10、16條地址線可尋址216=65536個不同的地址,即:0000HFFFFH14v3)控制總線CB(Control Bus):傳送控制信息,有微處理器送往存儲器和外圍設備的輸出控制信號,如讀、寫、訪問請求等,也有外設通過接口反饋給微處理器的輸入控制信號,如中斷信號、總線請求信號、等待信號等。8086數(shù)據(jù)總線是16位, 8088數(shù)據(jù)總線是8位,地址總線都是20位。152、存儲器組織v存儲器用來存儲數(shù)據(jù)和程序。程序是計算機操作的依據(jù),數(shù)據(jù)是計算機操作的對象,它們都用二進制代碼的形式表示,存放在存儲器中。存儲器由存儲體、地址寄存器、地址譯碼器、數(shù)據(jù)緩沖器以及控制電路組成,其結構如下圖:16存儲器結構A

11、BCBDB地址寄存器地址譯碼器數(shù)據(jù)緩沖器控制電路存儲單元.地址 內容 7 0 位00H01H FEFFH FFFFH來自CPU的地址信號1616來自CPU的控制信號至CPU數(shù)據(jù)總線817v存儲體由很多存儲單元組成,每個存儲單元存放一個數(shù)據(jù)或一條指令,每個存儲單元有一個唯一的編址。v當CPU要對存儲器進行讀操作時,CPU通過16條地址總線將存儲單元的地址送入地址寄存器,再經地址譯碼器譯碼后,尋找到指定的存儲單元。CPU再發(fā)來讀信號RD,將其中存放的8位數(shù)據(jù)讀出到數(shù)據(jù)緩沖器,然后通過數(shù)據(jù)總線輸入到CPU中。18寫操作時寫操作時,CPU通過通過16條地址總線將存儲單元的條地址總線將存儲單元的地址送入

12、地址寄存器,再經地址譯碼器譯碼后,地址送入地址寄存器,再經地址譯碼器譯碼后,尋找到指定的存儲單元。尋找到指定的存儲單元。CPU還通過數(shù)據(jù)總線把還通過數(shù)據(jù)總線把要寫入的要寫入的8位數(shù)據(jù)送到數(shù)據(jù)緩沖器,在寫信號位數(shù)據(jù)送到數(shù)據(jù)緩沖器,在寫信號WR作用下,把數(shù)據(jù)寫入到指定的存儲單元。作用下,把數(shù)據(jù)寫入到指定的存儲單元。注意:寫操作破壞了該單元原存內容注意:寫操作破壞了該單元原存內容。193、微處理器組織v主要由寄存器組、運算器、控制部件以及數(shù)據(jù)和地址緩沖器組成,各部件由片內總線連接。v(1)寄存器組:包括通用寄存器B、C、D、E、H、L和程序計數(shù)器PC(專用寄存器)等。每個通用寄存器都由8位觸發(fā)器組成

13、,它們可以暫存參加運算的操作數(shù)或中間結果,避免中間結果在CPU與存儲器之間來回傳送,以減少訪問存儲器的次數(shù),提高運算速度。20v程序計數(shù)器PC(Program Counter)是一個16位寄存器,是專門設置來存放現(xiàn)行指令的16位地址。每當存儲器按PC指定地址取出一條單字節(jié)(或多字節(jié)指令的第一字節(jié))指令后,PC就自動加1,指向下一條指令(或多字節(jié)指令)的地址,如此就可實現(xiàn)按先后順序讀取和執(zhí)行指令了。21v(2)運算器:由累加器A、暫存器TMP、算術邏輯單元ALU、標志寄存器F等部件組成。累加器A(Accumulator)由8位觸發(fā)器組成。它有兩個作用:運算前寄存第一個操作數(shù),是ALU的一個輸入端

14、;運算后存放ALU的運算結果。暫存器TMP(Temporarty)是一個8位的內部寄存器,用來暫存從內部數(shù)據(jù)總線的來自寄存器或存儲單元的另一操作數(shù),是ALU的另一個輸入端。它不能由使用和程序控制。22算術邏輯單元ALU(Arithmetic Logic Unit):完成各種算術邏輯運算。累加器A的內容作為第一個操作數(shù),暫存器TMP內容作為第二個操作數(shù),有時還包括標志寄存器F的進位C。操作結果S送回累加器A,同時把操作結果的一些特征送標志寄存器。標志寄存器F(Flag):指示CPU執(zhí)行當前指令的結果特征和運行狀態(tài),如:運算結果是否為零,運算結果是否進位等,可以用來作為控制程序轉移的條件。23v(

15、3)控制部件:包括指令(操作碼)寄存器IR、指令譯碼器ID、時序及控制電路。CPU根據(jù)PC指定的地址,把指令的操作碼從存儲器取出以數(shù)據(jù)總線DB送到指令寄存器IR中寄存,指令譯碼器ID對操作碼進行譯碼產生相應操作的控制電位,再與定時信號組合形成相應的控制信號,稱微操作,它按時間的先后順序控制適當?shù)牟考?,完成適當?shù)牟僮?,從而完成指令?guī)定的任務。24v(4)數(shù)據(jù)和地址緩沖器:是總線緩沖器,用來隔離微處理器的內部總線和外部總線并增加總線驅動能力。數(shù)據(jù)緩沖器DR是8位雙向三態(tài)緩沖器,地址總線緩沖器AR是16位單向三態(tài)緩沖器。v微機工作過程:計算3+5=?的過程。25微機工作過程261.1 二進制數(shù)的基礎

16、知識一、 任意進制數(shù)的表示 任意P進制數(shù)N可以表示成多項式的形式:1)(NMiiiPPKN 式中i表示數(shù)的某一位, 表示第i位的數(shù)字,P為基數(shù), 為第i位的權,M、N為正整數(shù)。 =0,1P-1。iKiPiK271.1 二進制數(shù)的基礎知識對于n位整數(shù)m位小數(shù)的任意十進制數(shù)N,有:11010NMiiiKNiK( =0,1,9)=10)32.357(21012102103107105103=357.32如:281.1 二進制數(shù)的基礎知識對于n位整數(shù)m位小數(shù)的任意二進制數(shù) ,有:122NMiiiKNiK( =0或1)2N如:2)011.1101(321012321212021202121 =10)37

17、5.13(=291.1 二進制數(shù)的基礎知識對于n位整數(shù)m位小數(shù)的任意十六進制數(shù)有:11616)(NMiiiKNiK( =0,1,9,A,B,C,D,E,F(xiàn))如:16)4 .3( C1011641612163=10)25.60(=以上方法稱為位置計數(shù)法或位置加權法301.1 二進制數(shù)的基礎知識二、 各種進制間的相互轉換1. 十進制 任意進制數(shù)(設為P進制)的轉換規(guī)則(1)整數(shù)部分:N 除以P取余數(shù) 16 18 余數(shù)為:D= 0K16 1 余數(shù)為:2= 1K16 3012K 0 余數(shù)為:1= 例1. 十進制數(shù)301 十六進制數(shù)轉換過程如下: 301=12DH311.1 二進制數(shù)的基礎知識2 301

18、2 150 余數(shù)為:1=0K2 75 余數(shù)為:0=1K2 37 余數(shù)為:1=2K2 18 余數(shù)為:1=3K2 9 余數(shù)為:0= 4K2 2 余數(shù)為:0= 6K2 4 余數(shù)為:1= 5K2 1 余數(shù)為:0= 7K8K0 余數(shù)為:1= 例2. 十進制數(shù)301 二進制數(shù) 轉換過程如下: 301=100101101B低位高位321.1 二進制數(shù)的基礎知識(2)純小數(shù)部分:N乘以P取整數(shù) 例1. 十進制小數(shù)0.6875 二進制小數(shù) 轉換過程如下: 0.6875=0.1011B例2. 十進制小數(shù) 十六進制小數(shù)轉換過程如下: 0.6875=0.B H低位高位4K0.52 =1.0 =1 3K0.752 =1

19、.5 =1 2K0.375 2 =0.75 =01K0.68752 =1.375 =1 1K0.687516 =11.0 =B 331.1 二進制數(shù)的基礎知識2. 任意進制數(shù) 十進制數(shù)的轉換規(guī)則按權展開,即位置加權法1001001011010.101001111 B 1 2 5 A . A 7 8 H如:3. 二進制 十六進制數(shù)的轉換規(guī)則341.1 二進制數(shù)的基礎知識三、 二進制數(shù)的算術運算 二進制計數(shù)制不僅物理實現(xiàn)容易,且運算方法也比十進制計數(shù)制大為簡單,所以計算機中均采用二進制數(shù)。 二進制數(shù)的算術運算包括加、減、乘、除。例:1 0 1 1 0 1 0 1 B+ 0 0 0 0 1 1 1

20、1 B 、1 1 0 0 0 1 0 0 B、1 0 1 1 0 1 0 1 B- 0 0 0 0 1 1 1 1 B1 0 1 0 0 1 1 0 B351.1 二進制數(shù)的基礎知識四、 二進制數(shù)的邏輯運算二進制數(shù)的邏輯運算包括與、或、異或、非四種運算。1 0 1 1 0 1 0 1 B 0 0 0 0 1 1 1 1 B1 0 1 1 1 1 1 1 B1 0 1 1 0 1 0 1 B 0 0 0 0 1 1 1 1 B1 0 1 1 1 0 1 0 B1 0 1 1 0 1 0 1 B例: 0 0 0 0 1 1 1 1 B0 0 0 0 0 1 0 1 BX= 1 0 1 1 0 1

21、0 1 B = 0 1 0 0 1 0 1 0 BX361.2 計算機中的數(shù)及其編碼v1.2.1 機器數(shù)和真值一個數(shù)在機器(計算機)中的表示形式稱為機器數(shù),而把這個數(shù)用“+”“-”表示其正負,則稱其為真值如真值:N1=+1101001B=+105,N2=-1101001B=-105對應機器數(shù):N1:01101001,N2:11101001371.2.2 符號數(shù)、無符號數(shù)v用0表示正數(shù)、1表示負數(shù)的符號,這種表示稱為帶符號表示,其最高位為符號位v把全部有效位都用以表示數(shù)的大小,這種表示稱為無符號表示。v機器數(shù)11001011看作是符號數(shù),其真值是-75;看作無符號數(shù),其真值是203381.2.3

22、 原碼、反碼和補碼v一個數(shù)的數(shù)值和符號都用二進制數(shù)碼表示時,一個數(shù)的數(shù)值和符號都用二進制數(shù)碼表示時,如何處理符號位?如何處理符號位?v方法:把符號位和數(shù)值位一起進行編碼。方法:把符號位和數(shù)值位一起進行編碼。391、原碼v以最高位為以最高位為0表示正數(shù),表示正數(shù),1表示負數(shù),后面各表示負數(shù),后面各位為數(shù)值。位為數(shù)值。X1=+67=+1000011B X1原原=01000011BX2=-67=-1000011B X2原原=11000011B注:注:0的原碼有兩種表示形式:的原碼有兩種表示形式:+0原原=00000000B -0原原=10000000B v優(yōu)點:簡單易懂,與真值轉換方便優(yōu)點:簡單易懂

23、,與真值轉換方便v缺點:原碼表示的數(shù)不便于加減運算缺點:原碼表示的數(shù)不便于加減運算402、反碼v正數(shù)的反碼與它原碼相同,負數(shù)的反碼與它正數(shù)的反碼與它原碼相同,負數(shù)的反碼與它的原碼除符號位外各位取反。的原碼除符號位外各位取反。X1=+83=+1010011B X1反反=01010011BX2=-83=-1010011B X2反反=10101100B注:注:0的反碼有兩種表示形式:的反碼有兩種表示形式:+0反反=00000000B -0反反=11111111B 413、補碼v引入補碼的目的在于:將加、減法運算化為單純的引入補碼的目的在于:將加、減法運算化為單純的加法運算加法運算v正數(shù)的補碼與它原碼

24、相同,負數(shù)的補碼等于它的反正數(shù)的補碼與它原碼相同,負數(shù)的補碼等于它的反碼加碼加1。X1=+67=+1000011B X1補補=X1原原=01000011BX2=-67=-1000011B X2補補=X2反反+1=10111101B注:注:0的補碼有一種表示形式:的補碼有一種表示形式:+0補補=-0補補=00000000B 42利用原碼求補碼 一個負數(shù)的補碼等于其原碼除符號位保持不變外,其余各位按位取反,再在最低位加1。補X如:x=-1010111B= 10101000B+1=10101001B原X=11010111B值的注意的是:0的補碼只有唯一的形式,符號位和數(shù)值位 均為0。無正負0之分。4

25、3(3)數(shù)的補碼表示轉換為原碼表示 一個用補碼表示的負數(shù),如將 再求一次補,即將 除符號位外取反加1,就可得到 ,用下式表示:原X補X補X原X補X補=補X補補X如: = 10101001B= 11010111B=原X44原碼、反碼和補碼比較v1)對于無符號數(shù),對于無符號數(shù),8位二進制數(shù)的范圍為位二進制數(shù)的范圍為0255,n位位?。對帶符號數(shù),原碼、反碼和補碼所能表示的對帶符號數(shù),原碼、反碼和補碼所能表示的數(shù)值范圍是數(shù)值范圍是不完全相同不完全相同的。的。8位二進制數(shù)位二進制數(shù)原碼原碼和反碼和反碼的表示范圍都為的表示范圍都為-127+127,補碼補碼數(shù)數(shù)的表示范圍為的表示范圍為-128+127。n

26、位二進制數(shù)帶符位二進制數(shù)帶符號數(shù),其原碼和反碼的表示范圍號數(shù),其原碼和反碼的表示范圍:-2n-1+1+2n-1-1;補碼的表示范圍為補碼的表示范圍為-2n-1+2n-1-145v2)原碼和反碼對于原碼和反碼對于0有兩種表示方法,補碼只有兩種表示方法,補碼只有一種表示方法,即在補碼中數(shù)有一種表示方法,即在補碼中數(shù)0的形式是的形式是唯一的。唯一的。v3)帶符號數(shù)帶符號數(shù),其最高位表示符號位。,其最高位表示符號位。對于正對于正數(shù)數(shù),三種編碼都是一樣的,即,三種編碼都是一樣的,即X原原= X反反= X補補;對于負數(shù)對于負數(shù),三種編碼就不同了,原碼、,三種編碼就不同了,原碼、反碼和補碼的實質是用來解決負

27、數(shù)在計算機反碼和補碼的實質是用來解決負數(shù)在計算機中表示的三種中表示的三種不同編碼不同編碼的方法。的方法。461.2.4 數(shù)的定點和浮點表示方法v對于任意一個二進制數(shù),都可以表示為:對于任意一個二進制數(shù),都可以表示為:v1、數(shù)的定點表示法、數(shù)的定點表示法1。純整數(shù)。純整數(shù)2。純小數(shù)。純小數(shù)SNJ 2符號位 尾數(shù)S. 符號位. 尾數(shù)S 472 數(shù)的浮點表示v浮點數(shù)在計算機中的表示:浮點數(shù)在計算機中的表示:v例:將例:將2.5表示成字長為表示成字長為8的浮點數(shù),要求階的浮點數(shù),要求階碼碼2位,尾數(shù)位,尾數(shù)4數(shù),階符及數(shù)符各一位,階碼數(shù),階符及數(shù)符各一位,階碼與尾數(shù)均用原碼表示。與尾數(shù)均用原碼表示。J

28、f J Sf S階符階碼數(shù)符尾數(shù)48v二進制浮點表示為:二進制浮點表示為:2.5=20100.101v注:注:階碼為整數(shù),尾數(shù)為純小數(shù)。階碼為整數(shù),尾數(shù)為純小數(shù)。尾數(shù)左移一位或小數(shù)點右移一位,階碼減尾數(shù)左移一位或小數(shù)點右移一位,階碼減1;尾數(shù)右移一位或小數(shù)點左移一們,階碼加尾數(shù)右移一位或小數(shù)點左移一們,階碼加1。v例:對于上面的例子進行變化例:對于上面的例子進行變化。0 1 0 0 1 0 1 0階符階碼(2位)數(shù)符尾數(shù)(4位)49v為便于軟件移植,按照 IEEE754 標準,32位浮點數(shù)和64位浮點數(shù)的標準格式為 v尾數(shù)最高有效位為尾數(shù)最高有效位為1,隱藏,并且隱藏在小數(shù),隱藏,并且隱藏在小

29、數(shù)點的左邊(即:點的左邊(即:1M2)v32位單精度浮點數(shù)規(guī)格化表示位單精度浮點數(shù)規(guī)格化表示 (-1)s(1.) 2E-127e127(e127)v64位雙精度浮點數(shù)規(guī)格化表示位雙精度浮點數(shù)規(guī)格化表示 (-1)s (1.) 2E-1023e1023(e1023)指數(shù)真值指數(shù)真值e 用偏移碼形式表示為階碼用偏移碼形式表示為階碼規(guī)格化表示原則規(guī)格化表示原則IEEE 754標準標準511.3 二進制編碼的十進制數(shù)(BCD編碼)一、 8421BCD碼 前面講過,計算機只認識0、1二進制代碼,但人們最習慣的是十進制。為了解決這一矛盾,提出了一個比較適合于十進制系統(tǒng)的二進制代碼的特殊形式BCD碼。 BCD

30、碼是用四位二進制數(shù)表示1位0 9的十進制數(shù),而4位二進制數(shù)碼有16種組合,原則上可任選10種作為代碼,但為便于記憶和比較直觀,最常用的是8421BCD碼,8、4、2、1分別是4位二進制數(shù)的位權值。 下面給出十進制數(shù)和8421BCD編碼的對應關系。521.3 二進制編碼的十進制數(shù)(BCD編碼)1000801117011060101501004001130010200011000008421BCD碼十進制數(shù)1001953 1.3 二進制編碼的十進制數(shù)(BCD編碼)如:十進制數(shù)和BCD碼相互轉換75.4 BCD碼75.4 =BCD)0100.01110101(BCD碼10000101.0101十進制

31、數(shù)BCD)0101.10000101(=85.5 同一個8位二進制代碼表示的數(shù),當認為它表示的是二進制數(shù)和認為它表示的是二進制編碼的十進制數(shù),數(shù)值是不相同的。如:2)00011000(BCD)00011000(=24=18541.3 二進制編碼的十進制數(shù)(BCD編碼)在計算機中,BCD碼有兩種基本格式a.組合式BCD碼b.分離式BCD碼a.組合式BCD碼 兩位十進制存放在一個字節(jié)中。 如數(shù)24的存放格式: 0 0 1 0 0 1 0 001234567DDDDDDDD2 4551.3 二進制編碼的十進制數(shù)(BCD編碼)b.分離式BCD碼 每位數(shù)存放在8位字節(jié)的低4位, 高4位的內容與數(shù)值無關。

32、如 數(shù)24的存放格式: 01234567DDDDDDDD x x x x 0 0 1 042 x x x x 0 1 0 0二、 BCD碼的加減法運算 下面我們以組合式BCD碼格式為例討論BCD碼的加減運算。 由于BCD編碼是將每個十進制數(shù)用一組4位二進制數(shù)表示,若將這種BCD編碼直接交計算機運算,計算機總是把它按二進制數(shù)處理,所以結果可能出錯。561.3 二進制編碼的十進制數(shù)(BCD編碼)如:38+49=87BCD0 0 1 1 1 0 0 00 1 0 0 1 0 0 11 0 0 0 0 0 0 1BCD38498781顯然,結果出錯。出錯原因:十進制相加應逢十進一,但計算機按二進制運算

33、,每四位一組,低四位向高四位進位相當十六進制運算,“逢十六進一”。所以當結果超過9時將比正確值少6。解決辦法:加六修正57 1.3 二進制編碼的十進制數(shù)(BCD編碼)加六修正規(guī)則: (1)如果兩個BCD碼位相加沒有進位,并且結果9,則該位不需修正。 (2)如果兩個BCD碼位相加有進位,或者其結果10,該位進行加六修正。 (3)低位修正結果使高位9時,高位進行加六修正。例:94+7=10158 1.3 二進制編碼的十進制數(shù)(BCD編碼)1 0 0 1 0 1 0 0 941 0 1 0 0 0 0 1 高4位滿足法則30 0 0 0 0 1 1 1 71 0 0 1 1 0 1 1 低4位滿足法

34、則2+0 0 0 0 0 1 1 0 加六修正+0 1 1 0 0 0 0 0 加六修正+10 0 0 0 0 0 0 1 101結果正確59 1.3 二進制編碼的十進制數(shù)(BCD編碼)減六修正規(guī)則: (1)如果兩個BCD碼位相減沒有借位,則該位不需修正。 (2)如果兩個BCD碼位相減有借位,則該位進行減六修正。例:5029=2160 1.3 二進制編碼的十進制數(shù)(BCD編碼)0 1 0 1 0 0 0 0 500 0 1 0 0 0 0 1 21結果正確0 0 1 0 1 0 0 1 290 0 1 0 0 1 1 1 低碼位有借位0 0 0 0 0 1 1 0 減六修正611.4 ASCII字符代碼ASCII 美國國家信息標準交換

溫馨提示

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

評論

0/150

提交評論