數字邏輯 第一章
1.1概述
什麼是數字系統?是一個對數字訊號進行加工、傳遞和儲存的實體,由數位電路連線而成。
連續量為模擬量,表示模擬量為模擬訊號;離散量為數字量,表示數字量的是數字訊號
電壓變化、溫度變化 = 模擬量
學生成績、工廠產品統計 = 數字量
數位電路的功能是通過邏輯運算和邏輯判斷實現的。
數位電路特點:
- 電路是二值訊號(內部工作特點)
- 只有開和關、主要關係邏輯關係(邏輯特點)
- 結構簡單、功耗低,利於生產(結構特點)
- 工作速度快、精度高、功能強(效能特點)
積體電路分為SSI、MSI、LSI、VLSL
數字邏輯電路分為組合邏輯電路(與過去訊號無關)和時序邏輯電路(有記憶功能,需要觸發器觸發)
研究方法:step by step
設計時應該儘量使電路簡單,當最簡方案不等於最佳方案,最佳的方案應該滿足全面的效能指標和實際應用要求。
1.2數制與轉換
- 基數:逢R進一,R就是基數
- 位權:例如:10進位制的個位位權是10的0次方,十位位權是10的1次方
二進位制的運演算法則
1+1=0
0-1=1
數制轉換
二進位制轉十進位制
按權展開
十進位制轉二進位制
除二取餘、乘二取整
從點擴散、零舍整入
二進位制與八進位制、十六進位制轉換
以小數為界
分別往高每X位取一組,不足用0補
寫出每組對應的N進位制數
帶符號二進位制的程式碼表示
符號(+ / -)+數值 = 真值
真值 可以轉換為 各種編碼
計算機中只有加法
原始碼
- 符號位:0正 1負
- 數值位:不變
優點:簡單易懂
缺點:加減不方便 不知道最高位是0和1(時鐘轉動問題)
反碼
- 符號位:0正 1負
- 數值位:正數不變 負數是真值取反
運算時,符號位和數值位一樣參加運算。符號位有進位產生時,將進位加到最低位。
運算後還是反碼,要把符號位換為真值符號(+ / -),把數值位進行逆過程
補碼
- 符號位:0正 1負
- 數值位:正數不變 負數是真值取反再加1
運算時,符號位和數值位一樣參與運算。若符號位有進位產生,則丟掉。
注意!運算後還是補碼,要把符號位換為真值符號(+ / -),正數數值位不變,負數最低位減一再依次取反得到真值。
tips:小數轉換時,不能隨便把末尾的0去掉,會改變精度從而改變值
1.4幾種常用的編碼
十進位制數的二進位制編碼(BCD碼)
BCD碼分為有權碼和無權碼兩種
BCD碼是對每一個十進位制數進行一一轉換,和進位制轉換有較大不同
8241碼
一種有權碼,十進位制數的每一位與4位二進位制數對應
2421碼
有權碼,其4位從高到低權位依次是2421。
2421碼不具有單值性,例如4可以用1010(2*1+4*0+2*1+1*0)
可也以用0100(2*0+4*1+2*0+1*0)
表示,但是2421碼有“0(0000
)和9(1111
)、1和8……、4(0100)和5(1011)”相反的性質,這種性質稱為“對9的自補程式碼”,因此具有一定的唯一性。
餘3碼
8421碼加上(0011)
2形成的無權碼,也是對9的自補程式碼
可進行和運算,有進位則結果加3;無進位則結果減3
可靠性編碼
格雷碼
任意兩個相鄰的數,其格雷碼只有一個不同,避免電子元件變化速度不一致導致的錯誤
轉換方法:首位不變,接下來每一位與前一位進行異或運算得到格雷碼
異或:異為1
同或:同為1
奇偶校驗碼
程式碼由:資訊位+檢驗位(1位)組成
- 奇校驗:檢驗位取1或者0,使得全部(資訊位+檢驗位)中1的個數為奇數
- 偶校驗:檢驗位取1或者0,使得全部(資訊位+檢驗位)中1的個數為偶數
計算方法:
- 基校驗:E(A,B,C,D)=A⊕B⊕C⊕D
- 偶校驗:E(A,B,C,D)=A⊙B⊙C⊙D
字元編碼
ASCII碼
使用7位二進位制碼錶示,第一位加一位奇偶驗證碼