1. 程式人生 > 其它 >數字邏輯 第一章

數字邏輯 第一章

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位二進位制碼錶示,第一位加一位奇偶驗證碼