1.6 常用編碼
計算機等數字系統除了處理二進制數外,有時候還需要處理其他信息,如十進制數、英文字母或一些特殊符號等,這些信息也必須用二進制數表示。用二進制數表示特定信息的過程稱為二進制編碼。
常用的編碼有:BCD碼、ASCII碼、奇偶校驗碼等。
-
BCD碼
-
ASCII碼
編碼除了可以用來表示數值,還可以用來表示其它符號。ASCII碼是美國信息交換標准代碼(American Standard Code for Information Interchange)的簡稱,它采用7位二進制編碼格式,共有128種不同的編碼,用來表示十進制字符、英文字母、基本運算字符、控制符和其它符號。完整的ASCII碼編碼表如表1.5所示,其中控制字符的含義在表1.6中說明。表示十進制字符09的7位ASCII碼是01100000111001,為了便於記憶,也常用2位十六進制數表示,即字符0~9對應的ASCII碼是30 h~39 h,數字后綴h表示進制(常用后綴字符表示進制,二進制數用b、十進制數用d、十六進制數用h);表示大寫英文字母A~Z的ASCII碼是41 h~5 A h,表示小寫英文字母a~z的ASCII碼是61 h~7 Ah。編碼表中21 h~7 Eh對應的所有字符都可以在鍵盤上找到。
通用計算機的鍵盤采用ASCII碼,每按下一個鍵,鍵盤內部的控制電路就將該鍵對應的ASCII碼作為鍵值發送給計算機,例如,按下A鍵,鍵盤就送出“1000001”。
-
奇偶校驗碼
奇偶檢驗碼(Party check code)是一種差錯控制編碼。差錯控制編碼是為了檢測接收信息中的誤碼、進而糾正這些誤碼、實現信息的無差錯傳輸而采用的一種技術手段。
奇偶檢驗碼分為奇檢驗碼和偶檢驗碼兩種。n位信息數據中的“1”的個數是隨機的,對於奇檢驗碼,就是當信息數據中有偶數個“1”時,發送端的檢驗碼發生器產生的檢驗碼是1,使(n+1)位傳輸碼字中有奇數個“1”;若信息數據中有奇數個“1”,則檢驗碼發生器產生的檢驗碼就是0,保證(n+1)位傳輸碼字中仍有奇數個“1”。接收端的檢驗器就是檢驗收到的(n+1)位中是否有奇數個“1”,若是,則認為傳輸無誤;否則,在(n+1)位數據中必然存在誤碼。
例如,在8421 BCD碼中采用奇檢驗,則信息分組的長度n=4,傳輸碼字長度是(n+1=5),信息數據為0011時,奇檢驗位就是1,傳輸碼字是00111(檢驗位在信息位的后面);信息數據是1000時,傳輸碼字是10000 -
格雷碼
格雷碼又叫典型循環碼(Cyclic Code),不再具有按權計數的特性,即格雷碼不像自然二進制碼那樣,每個位置具有固定的權值,格雷碼是一種無權碼。具有一般循環碼的相鄰性和循環性,相鄰性是指任意兩個相鄰的碼字之間僅有1位取值不同,循環性是指首尾兩個碼字也相鄰。循環碼的這種特性使之在提高計數器工作可靠性以及提高通信抗干擾能力方面都起着重要作用。格雷碼除了具有一般循環碼的特點外,還具有反射性。所謂反射性,是指以編碼最高位的0和1分界處為鏡像點,處於對稱位置的代碼只有最高位不同,其余各位都相同。
5.余3循環碼