華中科技大學數字邏輯第1章_第1頁
華中科技大學數字邏輯第1章_第2頁
華中科技大學數字邏輯第1章_第3頁
華中科技大學數字邏輯第1章_第4頁
華中科技大學數字邏輯第1章_第5頁
已閱讀5頁,還剩79頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

Digitallogic

專業基礎課數字電路與邏輯設計esong@宋恩民教授

課程性質與教學目標

課程性質:是計算機專業必修的一門重要技術基礎課。內容包括有關數字系統的

*基本知識

*基本理論

*常用數字集成電路

*數字邏輯電路分析與設計的基本方法

從計算機的層次結構上講,“數字邏輯”是深入了解計算機“內核”的一門最關鍵的基礎課程。

課程性質與教學目標

教學目標:*了解組成數字計算機的各種數字電路*熟練地對各類電路進行分析*能用集成電路芯片完成邏輯部件的設計

通過本課程的學習,要求學生掌握對數字系統硬件進行分析、設計和開發的基本技能。

教學安排教學時數:

80學時(授課68學時,實驗12學時)教材:《數字邏輯》(第四版)

歐陽星明主編華中科技大學出版社參考書:《數字邏輯學習與解題指南》

歐陽星明主編華中科技大學出版社

成績評定

數字邏輯課程綜合成績由課程考試、課后作業、課堂作業、課堂討論、課程小測驗、課程實驗幾個方面的成績組成。

(1)課程考試(50%);(2)作業(課后+課堂)(20%);(3)課外報告(小設計、小論文等)(10%);(4)課程實驗(20%)。

如何學好數字邏輯?一.掌握課程特點1.本課程是一門既抽象又具體的課程。在邏輯問題的提取和描述方面是抽象的,而在邏輯問題的實現上是具體的。因此,學習中既要務虛,又要務實。2.邏輯設計方法十分靈活。數字系統中,邏輯電路的分析與設計具有很大的靈活性。許多問題的處理沒有固定的方法和步驟,很大大程度上取決于操作者的邏輯思維推理能力、知識廣度和深度、以及解決實際問題的能力。

3.理論知識與實際應用結合十分緊密。該課程各部分知識與實際應用直接相關,學習中必須將理論知識與實際問題聯系起來。真正培養解決實際問題的能力。二.重視課堂學習

1.認真聽課。聽課時要緊跟教師授課思路,認真領會每一個知識要點,抓住書本上沒有的內容,琢磨重點與難點。

2.做好筆記。適當地記錄某些關鍵內容,尤其是那些重點、難點、疑點,以便課后復習、思考。

3.主動思考。聽課時圍繞教師所述內容及提出的問題,主動思考問題,尋找自己的見解。你知道做筆記有什么作用嗎?三.培養自學能力

1.認真閱讀教材內容。通過閱讀教材,理解各知識要點,吃透難點,建立各部分知識之間的相互聯系。

2.善于總結、歸納。注意及時總結所學知識,歸納出各部分的重點和難點,力求深入透徹地了解。

3.加強課后練習。通過做練習,不僅可以鞏固所學知識,而且能暴露學習中存在的問題,迫使自己做更深入的了解。

4.積極參與學習討論。通過學習討論,營造一個各抒己見、取長補短、互教互學、共同提高的學習環境,使之真正達到集思廣益的效果。

5.廣泛閱讀,拓寬知識面。通過閱讀相關的參考書籍,不僅能加深對所學知識的理解,而且能拓寬知識面。有利于從更廣度和深度加強對課程意義的理解。四.注重理論聯系實際

1.將書本知識與工程實際統一。學習中注意書本知識與工程應用存在的差別,將理論與實際統一。

2.將理論知識與實際應用結合。學習的目的是應用。因此,應從社會需求出發,將所學知識用于解決實際問題。你為什么要選擇學習計算機專業?你通過學習這門課,你可以活動哪些知識?基本知識第一章基本知識第一章本章知識要點:

第一章基本知識★常用的幾種編碼。★帶符號二進制數的代碼表示;★常用計數制及其轉換;★

數字系統的基本概念;

1.1概述1.1.1數字系統什么是數字系統?數字系統是一個能對數字信號進行加工、傳遞和存儲的實體,它由實現各種功能的數字邏輯電路相互連接而成。例如,數字計算機、智能手機、數碼相機。

第一章基本知識能否舉出更多的數字系統?與數字系統對應的是什么系統?第一章基本知識一、數字信號若信號的變化在時間上和數值上都是離散的,或者說斷續的,則稱為離散信號。離散信號的變化可以用不同的數字反映,所以又稱為數字信號,簡稱為數字量。A/D數字信號模擬信號D/A

模擬信號是指用連續變化的物理量所表達的信息,如溫度、濕度、壓力、長度、電流、電壓等等。通常模擬信號又稱為連續信號,它在一定的時間范圍內可以有無限多個不同的取值。(而數字信號是指在取值上是離散的、不連續的信號)第一章基本知識例如,某控制系統框圖如下圖所示。執行機構

數字量

數字量

測量結果模擬量

模擬量

控制信號

儀表

計算機被控對象

D/A

A/D

(如:電壓)(如:溫度)(如:室內溫度)(如:電動窗)(如:溫度計)模數轉換:A/D數模轉換:D/A

二、數字邏輯電路

用來處理數字信號的電子線路稱為數字電路。第一章基本知識

由于數字電路的各種功能是通過邏輯運算和邏輯判斷來實現的,所以數字電路又稱為數字邏輯電路或者邏輯電路。

第一章基本知識

(1)電路的基本工作信號是二值信號。它表現為電路中電壓的“高”或“低”、開關的“接通”或“斷開”、晶體管的“導通”或“截止”等兩種穩定的物理狀態。

(2)電路中的半導體器件一般都工作在開、關狀態。

數字邏輯電路具有如下特點:

(3)電路結構簡單、功耗低、便于集成制造和系列化生產;產品價格低廉、使用方便、通用性好。

(4)由數字邏輯電路構成的數字系統工作速度快、精度高、功能強、可靠性好。數字邏輯電路的最大優點是:不失真由于數字邏輯電路具有上述特點,所以,數字邏輯電路的應用十分廣泛。隨著半導體技術和工藝的發展,出現了數字集成電路,集成電路發展十分迅速。

數字集成電路按照集成度的高低可分為小規模(SSI)、中規模(MSI)、大規模(LSI)和超大規模(VLSI)幾種類型。第一章基本知識第一章基本知識三.數字系統設計可以看作是一種層次結構復雜的數字系統:從第二級到第四級的功能部件更復雜的功能邏輯單元:微處理器功能邏輯單元:加法器、減法器、乘法器功能邏輯單元:門電路(與門、非門、異或門等)半導體器件:電子元件、晶體管、二極管、電阻電容等1級2級3級4級5級第一章基本知識四.數字計算機及其發展這部分內容請自己看書、上網查詢。請回答如下問題:1、一個典型的計算機,主要包含哪幾部分?

請給各

個部分一些例子,比如輸入設備可能是鍵盤、鼠標。2、從世界上第一臺計算機出現到現在已經有多少年了?

第一臺計算機與現在的計算機有多大的區別?1.1.2數字邏輯電路的類型和研究方法由于這類電路的輸出與過去的輸入信號無關,所以不需要有記憶功能。例如,一個“多數表決器”,表決的結果僅取決于參予表決的成員當時的態度是“贊成”還是“反對”,因此屬于組合電路。一、數字邏輯電路的類型

第一章基本知識組合邏輯電路:

如果一個邏輯電路在任何時刻的穩定輸出僅取決于該時刻的輸入,而與電路過去的輸入無關,則稱為組合邏輯(CombinationalLogic)電路。根據一個電路是否具有記憶功能,可將數字邏輯電路分為組合邏輯電路和時序邏輯電路兩種類型。時序邏輯電路按照是否有統一的時鐘信號進行同步,又可進一步分為同步時序邏輯電路和異步時序邏輯電路。

第一章基本知識時序邏輯電路:

如果一個邏輯電路在任何時刻的穩定輸出不僅取決于該時刻的輸入,而且與過去的輸入相關,則稱為時序邏輯(SequentialLogic)電路。由于這類電路的輸出與過去的輸入相關,所以要用電路中記憶元件的狀態來反映過去的輸入信號。例如,一個統計串行輸入脈沖信號個數的計數器,它的輸出結果不僅與當時的輸入脈沖相關,還與前面收到的脈沖個數相關,因此,計數器是一個時序邏輯電路。二、數字邏輯電路的研究方法

對數字系統中邏輯電路的研究有兩個主要任務:一是分析,二是設計。對一個已有的數字邏輯電路,研究它的工作性能和邏輯功能稱為邏輯分析;根據提出的邏輯功能,在給定條件下構造出實現預定功能的邏輯電路稱為邏輯設計,或者邏輯綜合。

第一章基本知識邏輯電路分析與設計的方法隨著集成電路的迅速發展在不斷發生變化,最成熟的方法是傳統的方法。1.邏輯電路分析和設計的傳統方法傳統方法:傳統方法是建立在小規模集成電路基礎之上的,它以技術經濟指標作為評價一個設計方案優劣的主要性能指標,設計時追求的是如何使一個電路達到最簡。第一章基本知識如何達到最簡呢?在組合邏輯電路設計時,通過邏輯函數化簡,盡可能使電路中的邏輯門和連線數目達到最少。而在時序邏輯電路設計時,則通過狀態化簡和邏輯函數化簡,盡可能使電路中的觸發器、邏輯門和連線數目達到最少。注意!一個最簡的方案并不等于一個最佳的方案!

最佳方案應滿足全面的性能指標和實際應用要求。所以,在用傳統方法求出一個實現預定功能的最簡結構之后,往往要根據實際情況進行相應調整。

隨著集成電路技術的飛躍發展,數字邏輯電路的分析和設計方法在不斷發生變化。但用邏輯代數作為基本理論的傳統方法始終邏輯電路分析和設計的基本方法。

2.用中、大規模集成組件進行邏輯設計的方法由于中、大規模集成電路的不斷發展,使芯片內部容納的邏輯器件越來越多,因而,實現某種邏輯功能所需要的門和觸發器數量已不再成為影響經濟指標的突出問題。第一章基本知識用中、大規模集成組件去構造滿足各種功能的邏輯電路時,如何尋求經濟合理的方案呢?要求設計人員必須注意:

▲充分了解各種器件的邏輯結構和外部特性,做到合理選擇器件;▲充分利用每一個已選器件的功能,用靈活多變的方法完成各類電路或功能模塊的設計;▲盡可能減少芯片之間的相互連線。

3.用可編程邏輯器件(PLD)進行邏輯設計的方法各類可編程邏輯器件(PLD)的出現,給邏輯設計帶來了一種全新的方法。人們不再用常規硬線連接的方法去構造電路,而是借助豐富的計算機軟件對器件進行編程燒錄來實現各種邏輯功能,這給邏輯設計帶來了極大的方便。

第一章基本知識

4.用計算機進行輔助邏輯設計的方法面對日益復雜的集成電路芯片設計和數字系統設計,人們不得不越來越多地借助計算機進行輔助邏輯設計。目前,已有各種設計數字系統的軟件在市場上出售。計算機輔助邏輯設計方法正在不斷推廣和應用。不少人認為計算機設計自動化已形成計算機科學中的一個獨立的學科。1.2.1進位計數制數制是人們對數量計數的一種統計規律。日常生活中廣泛使用的是十進制,而數字系統中使用的是二進制。1.2數制及其轉換

6666×102

6×101

6×100如

(666)10=6×102+6×101+6×100

同一個字符6從左到右所代表的值依次為600、60、6。即第一章基本知識十進制中采用了0、1、…、9共十個基本數字符號,進0位規律是“逢十進一”。當用若干個數字符號并在一起表示一個數時,處在不同位置的數字符號,其值的含意不同。一、十進制27

廣義地說,一種進位計數制包含著基數和位權兩個基本的因素:

基數:

指計數制中所用到的數字符號的個數。在基數為R計數制中,包含0、1、…、R-1共R個數字符號,進位規律是“逢R進一”。稱為R進位計數制,簡稱R進制。第一章基本知識

位權:

是指在一種進位計數制表示的數中,用來表明不同數位上數值大小的一個固定常數。不同數位有不同的位權,某一個數位的數值等于這一位的數字符號乘上與該位對應的位權。R進制數的位權是R的整數次冪。

例如,十進制數的位權是10的整數次冪,其個位的位權是100,十位的位權是101……。二.R進制28

一個R進制數N可以有兩種表示方法:

(1)并列表示法(又稱位置計數法)

(N)R=(Kn-1Kn-2…K1K0

.K-1K-2…K-m)R

(2)多項式表示法(又稱按權展開法)(N)R=Kn-1×Rn-1+Kn-2×Rn-2+…+K1×R1+K0×R0

+K-1×R-1+K-2×R-2+…+K-m×R-m

第一章基本知識其中:R——

基數;n——整數部分的位數;

m——

小數部分的位數;

Ki——

R進制中的一個數字符號,其取值范圍為

0≤Ki≤R-1(-m≤i≤n-1)。29(3)位權是R的整數次冪,第i位的權為Ri(-m≤i≤n-1)。

R進制的特點可歸納如下:

(1)有0、1、…、R-1共R個數字符號;(2)“逢R進一”,“10”表示R;

第一章基本知識30基數R=2的進位計數制稱為二進制。二進制數中只有0和1兩個基本數字符號,進位規律是“逢二進一”。二進制數的位權是2的整數次冪。

三、二進制

任意一個二進制數N可以表示成其中:n—整數位數;m—小數位數;

Ki—為0或者1,-m≤i≤n-1。(N)2=(Kn-1Kn-2…K1K0.K-1K-2…K-m)2

=Kn-1×2n-1+Kn-2×2n-2+…+K1×21+K0×20

+K-1×2-1+K-2×2-2+…+K-m×2-m第一章基本知識31

例如,一個二進制數1011.01可以表示成:(1011.01)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2

第一章基本知識

二進制數的運算規則如下:

加法規則

0+0=00+1=11+0=11+1=0(進位為1)

減法規則

0-0=01-0=11-1=00-1=1(借位為1)

乘法規則

0×0=00×1=01×0=01×1=1

除法規則

0÷1=01÷1=132

例如,二進制數A=11001,B=101,則A+B、A-B、A×B、A÷B的運算為

11001+1011111011001-10110100第一章基本知識11001×1011100100000+11001111110111001101101

-101101

-101033因為二進制中只有0和1兩個數字符號,可以用電子器件的兩種不同狀態來表示一位二進制數。例如,可以用晶體管的截止和導通表示1和0,或者用電平的高和低表示1和0等。所以,在數字系統中普遍采用二進制。

二進制的優點:

運算簡單、物理實現容易、存儲和傳送方便、可靠。

二進制的缺點:數的位數太長且字符單調,使得書寫、記憶和閱讀不方便。因此,人們在進行指令書寫、程序輸入和輸出等工作時,通常采用八進制數和十六進制數作為二進制數的縮寫。

第一章基本知識34

四、八進制

基數R=8的進位計數制稱為八進制。八進制數中有0、1、…、7共8個基本數字符號,進位規律是“逢八進一”。八進制數的位權是8的整數次冪。

任意一個八進制數N可以表示成(N)8=(Kn-1Kn-2…K1K0.K-1K-2…K-m)8

=Kn-1×8n-1+Kn-2×8n-2+…+K1×81+K0×80

+K-1×8-1+K-2×8-2+…+K-m×8-m

其中:n—整數位數;m—小數位數;

Ki—0~7中的任何一個字符,-m≤i≤n-1。第一章基本知識35

五、十六進制

基數R=16的進位計數制稱為十六進制。十六進制數中有0、1、…、9、A、B、C、D、E、F共16個數字符號,其中,A~F分別表示十進制數的10~15。進位規律為“逢十六進一”。十六進制數的位權是16的整數次冪。

任意一個十六進制數N可以表示成(N)16=(Kn-1Kn-2…K1K0.K-1K-2…K-m)16=Kn-1×16n-1+Kn-2×16n-2+…+K1×161+K0×160

+K-1×16-1+K-2×16-2+…+K-m×16-m

其中:n—整數位數;m—小數位數;Ki—表示0~9、A~F

中的任何一個字符,-m≤i≤n-1。第一章基本知識36

十進制數0~15及其對應的二進制數、八進制數、十六進制數如下表所示。

第一章基本知識十進制二進制八進制十六進制

十進制二進制八進制十六進制

十進制數與二、八、十六進制數對照表0000000010001011200100223001103340100044501010556011006670111077810001089100111910101012A11101113B12110014C13110115D14111016E15111117F371.2.2

數制轉換

方法:多項式替代法一、二進制數與十進制數之間的轉換

1.二進制數轉換為十進制數

將二進制數表示成按權展開式,并按十進制運算法則進行計算,所得結果即為該數對應的十進制數。

例如,(10110.101)2=(?)10

(10110.101)2=1×24+1×22+1×21+1×2-1+1×2-3=16+4+2+0.5+0.125=(22.625)10第一章基本知識數制轉換是指將一個數從一種進位制轉換成另一種進位制。從實際應用出發,要求掌握二進制數與十進制數、八進制數和十六進制數之間的相互轉換。38方法:基數乘除法十進制數轉換成二進制數時,應對整數和小數分別進行處理。

整數轉換——采用“除2取余”的方法;小數轉換——采用“乘2取整”的方法。

(1)整數轉換

“除2取余”法:將十進制整數N除以2,取余數計為K0;再將所得商除以2,取余數記為K1;……。依此類推,直至商為0,取余數計為Kn-1為止。即可得到與N對應的n位二進制整數Kn-1…K1K0。第一章基本知識2.十進制數轉換為二進制數

39

例如,(35)10=(?)2

235余數217………

1

(K0)低位28………

1

(K1)24………

0

(K2)22………

0(K3)21………

0(K4)0………

1(K5)高位即

(35)10=(100011)2

第一章基本知識40

例如,(0.6875)10=(?)2

(2)小數轉換

“乘2取整”法:將十進制小數N

乘以2,取積的整數記為K–1;再將積的小數乘以2,取整數記為K–2;……。依此類推,直至其小數為0或達到規定精度要求,取整數記作K–m為止。即可得到與

N

對應的m位二進制小數0.K-1K-2…K-m。

第一章基本知識高位

1(K-1)……

1.3750

0(K-2)……

0.7500

1(K-3)……

1.50000.6875

整數部分

×2×2低位

1(K-4)……

1.0000×2×2即:(0.6875)10=(0.1011)241

注意:當十進制小數不能用有限位二進制小數精確表示時,可根據精度要求,求出相應的二進制位數近似地表示。一般當要求二進制數取m位小數時,可求出m+1位,然后對最低位作0舍1入處理。第一章基本知識即

(0.323)10=(0.0101)2

例如,(0.323)10=(?)2(保留4位小數)。1.2920.6460.323×2×20.5841.168×2×20.336×2高位低位42212……

12

2526……023……

021……

101

1.2500.625

×2

0.500×21.000×2即

(25.625)10=(11001.101)2

第一章基本知識若一個十進制數既包含整數部分,又包含小數部分,則需將整數部分和小數部分分別轉換,然后用小數點將兩部分結果連到一起。

例如,(25.625)10=(?)243二、二進制數與八進制數、十六進制數之間的轉換

由于八進制的基本數字符號0~7正好和3位二進制數的取值000~111對應。所以,二進制數與八進制數之間的轉換可以按位進行。第一章基本知識1.二進制數與八進制數之間的轉換

二進制數轉換成八進制數:以小數點為界,分別往高、往低每3位為一組,最后不足3位時用0補充,然后寫出每組對應的八進制字符,即為相應八進制數。例如,(11100101.01)2=(?)8011

100

101.010

345.2即

(11100101.01)2=(345.2)8

4456.7

101

110.111

即:

(56.7)8=(101110.111)2

例如,(56.7)8=(?)2

第一章基本知識

八進制數轉換成二進制數時,只需將每位八進制數用3位二進制數表示,小數點位置保持不變。45

二進制數與十六進制數之間的轉換同樣可以按位進行,只不過是4位二進制數對應1位十六進制數,即4位二進制數的取值0000~1111分別對應十六進制字符0~F。第一章基本知識2.二進制數與十六進制數之間的轉換二進制數轉換成十六進制數:以小數點為界,分別往高、往低每4位為一組,最后不足4位時用0補充,然后寫出每組對應的十六進制字符即可。

例如,(101110.011)2=(?)16

即:

(101110.011)2=(2E.6)16

0010

1110.01102E.646十六進制數轉換成二進制數時,只需將每位十六進制數用4位二進制數表示,小數點位置保持不變。

例如,(5A.B)16=(?)2

即:(5A.B)16=(1011010.1011)2

5A.B

0101

1010.1011

第一章基本知識471.3帶符號二進制數的代碼表示

為了標記一個數的正負,人們通常在一個數的前面用“+”號表示正數,用“-”號表示負數。在數字系統中,符號和數值一樣是用0和1來表示的,一般將數的最高位作為符號位,用0表正,用1表示負。其格式為

XfXn-1Xn-2…X1X0

符號位

通常將用“+”、“-”表示正、負的二進制數稱為符號數的值,而把將符號和數值一起編碼表示的二進制數稱為機器數機碼。常用的機器碼有原碼、反碼和補碼三種。第一章基本知識481.3.1原碼

X0≤X<1[X]原=

1-X-1<X≤00正符號位

即1負

數值位:

不變一、小數原碼的定義

設二進制小數X=±0.x-1x-2…x-m,則其原碼定義為

原碼:符號位用0表示正,1表示負;數值位保持不變。原碼表示法又稱為符號—數值表示法。第一章基本知識49例如,若X1=+0.1011,X2=-0.1011則[X1]原

=0.1011[X2]原

=1-(-0.1011)=1.1011根據定義,小數“0”的原碼可以表示成0.0…0或1.0…0。

第一章基本知識50二、整數原碼的定義X0≤X<2n

[X]原=

2n-X-2n<X≤0

設二進制整數X=±xn-1xn-2…x0,則其原碼定義為

例如,若X1=+1101,X2=-1101,則X1和X2的原碼為[X1]原

=01101

[X2]原=24-(-1101)=10000+1101=11101

同樣,整數“0”的原碼也有兩種形式,即00…0和10…0。

第一章基本知識51第一章基本知識原碼的優點:

簡單易懂,求取方便;

缺點:加、減運算不方便。

當進行兩數加、減運算時,要根據運算及參加運算的兩個數的符號來確定是加還是減;如果是做減法,還需根據兩數的大小確定被減數和減數,以及運算結果的符號。顯然,這將增加運算的復雜性。如何克服原碼的缺點呢?首先請看下面的例子。

為了克服原碼的缺點,引入了反碼和補碼。03691254111087·

+7

-5當要將時針從10點調至5點時,可順調7格(+7),也可反調5格(-5),即對12進制而言10-5≡10+7。這里,5+7=12,通常稱5和7對12進制而言互補。521.3.2反碼X0≤X<1

[X]反=

(2-2-m)+X-1<X≤0第一章基本知識一、小數反碼的定義

設二進制小數X=±0.x-1x-2…x-m,則其反碼定義為帶符號二進制數的反碼表示:

符號位———用0表示正,用1表示負;

數值位———正數反碼的數值位和真值的數值位相同;而負數反碼的數值位是真值的數值位按位變反。53

例如,若X1=+0.1011,X2=-0.1011,則X1和X2的反碼為[X1]反=0.1011[X2]反=2-2-4+X2=10.0000-0.0001-0.1011=1.0100

根據定義,小數“0”的反碼有兩種表示形式,即0.0…0和1.1…1。

第一章基本知識

即-0.1011

1.010054二、整數反碼的定義

設二進制整數X=±xn-1xn-2…x0,則其反碼定義為第一章基本知識

-1001

10110

例如,若X1=+1001,X2=-1001,則X1和X2的反碼為[X1]反

=01001[X2]反=(25-1)+X=(100000-1)+(-1001)=11111-1001=10110[X]反=(2n+1-1)+X-2n<X≤0X0≤X<2n整數“0”的反碼也有兩種形式,即00…0和11…1。

55

采用反碼進行加、減運算時,無論進行兩數相加還是兩數相減,均可通過加法實現。

加、減運算規則如下:

[X1+X2]反=[X1]反+[X2]反[X1–X2]反=[X1]反+[-X2]反

第一章基本知識運算時,符號位和數值位一樣參加運算。當符號位有進位產生時,應將進位加到運算結果的最低位,才能得到最后結果。56

例如,已知X1=+0.1110,X2=+0.0101,求X1-X2=?10.10000.1110+1.10100.1001+1

即[X1-X2]反=0.1001。由于結果的符號位為0,表示是正數,故X1-X2=+0.1001第一章基本知識

解:求X1-X2可通過反碼相加實現。運算如下:[X1-X2]反=[X1]反+[-X2]反=0.1110+1.1010571.3.3補碼

帶符號二進制數的補碼表示:

符號位——用0表示正,用1表示負;

數值位——正數補碼的數值位與真值相同;負數補碼的數值位是真值的數值位按位變反,并在最低位加1。

設二進制小數X=±0.x-1x-2…x-m,則其補碼定義為一、小數補碼的定義

X0≤X<1

[X]補=

2+X-1≤X<0第一章基本知識58

例如,若X1=+0.1011,X2=-0.1011,則X1和X2的補碼為

[X1]補=0.1011

[X2]補=2+X=10.0000-0.1011=1.0101

注意:小數“0”的補碼只有一種表示形式,即0.0…0。

第一章基本知識

-0.1011

1.0100

+1

1.0101

59二、整數補碼的定義

設二進制整數X=±xn-1xn-2…x0,則其補碼定義為

X0≤X<2n

[X]補=2n+1+X-2n≤X<0

例如,若X1=+1010,X2=-1010,則X1和X2的補碼為

[X1]補=01010

[X2]補=25+X=100000-1010=10110

整數“0”的補碼也只有一種表示形式,即00…0。

第一章基本知識60

采用補碼進行加、減運算時,可以將加、減運算均通過加法實現。

運算時,符號位和數值位一樣參加運算,若符號位有進位產生,則應將進位丟掉后才能得到正確結果。第一章基本知識

運算規則如下:

[X1+X2]補=[X1]補+[X2]補[X1–X2]補=[X1]補+[-X2]補61

例已知X1=-1001,X2=+0011,求X1-X2=?

[X1-X2]補=[X1]補+[-X2]補=10111+11101丟掉

1

1010010111+11101

即[X1-X2]補=10100。由于結果的符號位為1,表示是負數,故

X1-X2=-1100

注意:補碼還原成真值時,應對數值位變反加1。

顯然,采用補碼進行加、減運算最方便。第一章基本知識

解:采用補碼求X1-X2的運算如下:621.4幾種常用的編碼1.4.1十進制數的二進制編碼(BCD碼)

第一章基本知識

用4位二進制代碼對十進制數字符號進行編碼,簡稱為二–十進制代碼,或稱BCD(BinaryCodedDecimal)碼。

BCD碼既有二進制的形式,又有十進制的特點。常用的BCD碼有8421碼、2421碼和余3碼。

63第一章基本知識十進制數字符號0~9與8421碼、2421碼和余3碼的對應關系如下表所示。0000000000011100010001010020010001001013001100110110401000100011150101101110006011011001001701111101101081000111010119100111111100十進制字符8421碼2421碼余3碼

常用的3種BCD碼

64一、8421碼

8421碼:是用4位二進制碼表示一位十進制字符的一種有權碼,4位二進制碼從高位至低位的權依次為23、22、21、20,即為8、4、2、1,故稱為8421碼。

按8421碼編碼的0~9與用4位二進制數表示的0~9完全一樣。所以,8421碼是一種人機聯系時廣泛使用的中間形式。

(1)8421碼中不允許出現1010~1111六種組合(因為沒有十進制數字符號與其對應)。

(2)

十進制數字符號的8421碼與相應ASCII碼的低四位相同,這一特點有利于簡化輸入輸出過程中BCD碼與字符代碼的轉換。

注意:

第一章基本知識658421碼與十進制數之間的轉換是按位進行的,即十進制數的每一位與4位二進制編碼對應。例如,1.8421碼與十進制數之間的轉換(258)10

=(001001011000)8421碼

(0001001000001000)8421碼=(1208)10

例如,

(28)10

=(11100)2

=(00101000)8421

2.8421碼與二進制的區別第一章基本知識66二、2421碼

2421碼:

是用4位二進制碼表示一位十進制字符的另一種有權碼,4位二進制碼從高位至低位的權依次為2、4、2、1,故稱為2421碼。

若一個十進制字符X的2421碼為a3a2a1a0,則該字符的值為

X=2a3+4a2+2a1+1a0

例如,(1101)2421碼=(7)10

第一章基本知識1.2421碼與十進制數之間的轉換

2421碼與十進制數之間的轉換同樣是按位進行的,例如:

(258)10=(001010111110)2421碼

(0010000111101011)2421碼=(2185)1067第一章基本知識(1)2421碼不具備單值性。例如,0101和1011都對應十進制數字5。為了與十進制字符一一對應,2421碼不允許出現0101~1010的6種狀態。2.注意

(3)應與二進制數進行區別!

(2)2421碼是一種對9的自補代碼。即一個數的2421碼只要自身按位變反,便可得到該數對9的補數的2421碼。例如,

(4)10(0100)2421(1011)2421(5)10

具有這一特征的BCD碼可給運算帶來方便,因為直接對BCD碼進行運算時,可利用其對9的補數將減法運算轉化為加法運算。68三、余3碼第一章基本知識余3碼:是由8421碼加上0011形成的一種無權碼,由于它的每個字符編碼比相應8421碼多3,故稱為余3碼。

例如,十進制字符5的余3碼等于5的8421碼0101加上0011,即為1000。

2.余3碼與十進制數進行轉換時,每位十進制數字的編碼都應余3。例如,

(256)10=(010110001001)余3碼

(1000100110011011)余3碼=(5668)10

注意:

1.余3碼中不允許出現0000、0001、0010、1101、1110和1111六種狀態。69第一章基本知識3.余3碼是一種對9的自補代碼;

4.

兩個余3碼表示的十進制數字相加時,能產生正確進位信號,但對“和”必須修正。

修正的方法是:如果有進位,則結果加3;如果無進位,則結果減3。

(思考:為什么?)例如,2+3=51011+3(0110)余3碼5(1000)余3碼2(0101)余3碼-0011例如,8+3=11+3(0110)余3碼+0011

100011

11(0100)余3碼8(1011)余3碼70第一章基本知識1.4.2可靠性編碼

作用:

提高系統的可靠性。

為了減少或者發現代碼在形成和傳送過程中都可能發生的錯誤。形成了各種編碼方法。下面,介紹兩種常用的可靠性編碼。一、格雷(Gray)碼

1.特點:任意兩個相鄰的數,其格雷碼僅有一位不同。

2.作用:避免代碼形成或者變換過程中產生的錯誤。71第一章基本知識十進制數4位二進制碼典型格雷碼

4位二進制碼對應的典型格雷碼000000000100010001200100011300110010401000110501010111601100101701110100810001100910011101101010111111101111101211001010131101101114111010011511111000

四位二進制碼對應的典型格雷碼如下表所示。72在數字系統中,數是用電子器件的狀態表示的,數據的變化即器件狀態的變化。如當數據按升序或降序變化時,若采用普通二進制數,則每次增1或者減1可能引起若干位發生變化。為什么能避免代碼在形成或者變換過程中產生錯誤呢?

第一章基本知識11100001當的電子器件變化速度不一致時,便會產生錯誤代碼!例如,用四位二進制數表示的十進制數由7變為8時,要求四位都發生變化。即四個電子器件的狀態應由0111變為1000,如右圖所示。而格雷碼由7變為8時呢?0100→1100,僅一位發生變化。可見,格雷碼從編碼上杜絕了這種錯誤的發生。73

轉換規則如下:

3.典型格雷碼與普通二進制碼之間的轉換。

設二進制碼為B=Bn-1Bn-2…Bi+1Bi…B1B0

對應格雷碼為G=Gn-1Gn-2…Gi+1Gi…G1G0

有:Gn-1=Bn-1Gi=Bi+1⊕Bi0≤i≤n-2

其中,運算“⊕”稱為“異或”運算,運算規則是:

0⊕0=0;0⊕1=1;

1⊕0=1;1⊕1=0。

第一章基本知識

思考:

如何將Gray碼轉換成二進制碼?

第一章基本知識例如,思考轉換之間的唯一性,正確性75二、奇偶檢驗碼

奇偶檢驗碼是一種用來檢驗代碼在傳送過程中是否產生錯誤的代碼。

2.編碼方式:有兩種編碼方式.

奇檢驗:使信息位和檢驗位中“1”的個數共計為奇數;

偶檢驗:使信息位和檢驗位中“1”的個數共計為偶數。信息位(7位)采用奇檢驗的檢驗位

(1位)

采用偶檢驗的檢驗位

(1位)

100110001第一章基本知識

1.組成:

信息位——位數不限的一組二進制代碼

兩部分組成

奇偶檢驗位——僅有一位。

例如,76

下表列出了8421碼的奇偶檢驗碼.

檢驗位

信息位

檢驗位

信息位

01101001100000000100100011010001010110011110001001100101100100000001001000110100010101100111100010010123456789采用偶檢驗的8421碼

采用奇檢驗的8421碼

十進制數碼

8421碼的奇偶檢驗碼

第一章基本知識77

3.檢驗碼的工作原理

奇偶檢驗碼的工作原理如下圖所示。檢

測器編碼器

x1

x2

x3

x4

11111100001FP(奇)發送端接收端第一章基本知識78

4.特點

(1)

編碼簡單、容易實現;

(2)奇偶檢驗碼只有檢錯能力,沒有糾錯能力;

(3)

只能發現單錯,不能發現雙錯。

溫馨提示

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

評論

0/150

提交評論