2.7 其它數字碼


(1)一個數位系統或電腦,須能處理數值,也須能處理文字、符號,因此人類常用有系統的編碼方法表示特定的數值、文字、符號,而這些文字、數字、標點符號或特殊的編碼稱為文數字碼

(2)文數字碼大致分兩類:

  1. 加權數碼:每個Bit都有其固定的加權值。如二進制,8421 碼...等
  2. 非加權數碼:每個Bit並沒有固定之加權質。如格雷碼、加三碼...等

2.7-1.二進碼(Binary Code)

(1)用 n 個Bit來表示 2n個不同狀態或值

(2)屬於加權數碼


2.7-2.二進碼十進制(Binary Code Decimal)簡稱BCD碼:

(1)用一組(常用四個Bit)來表示十進制數字

(2)這組Bit至少須要十個狀態,分別表示0~9十個數字。如下表2.7-1

表2.7-1
十進位數 BCD8421碼 加三碼
0 0000 0011
1 0001 0100
2 0010 0101
3 0011 0110
4 0100 0111
5 0101 1000
6 0110 1001
7 0111 1010
8 1000 1011
9 1001 1100

2.7-3. 8421碼:

(1)是BCD碼中採用機會最多,也最合乎自然方式的一種,若不特別說明,一般稱BCD碼,就是指 8421 碼

(2)其四個Bit之加權值分別是 34.gif (1098 bytes) 故稱為BCD8421碼

(3)表示或計算十進制數目時比二進制方便,即一個十進數字對應四個Bit,反之四個Bit對應一個十進數字,較佔用Bit數為其缺點

(4)有六種禁止狀態,分別是 1010,1011,1100,1101,1110,1111

(5)適合做運算,但須注意其補償因素,即當每一位數相加,和若大於 9 時,須再加補償因素 6


例2.7-1:以BCD碼表示十進制數 895

解:

35.gif (454 bytes)

得895(10)=100010010101(BCD)


例2.7-2:BCD碼 100001000011相當於十進制數多少?

解:

36.gif (1264 bytes)

得100001000011(BCD)=843(10)


2.7-4 加三碼(EXCESS-3   Code)。

    (1)相當於 8 4 2 1 碼再加上 3 而得。即將十進制碼轉換成加三碼時,可將每一個十進位數先行加 3 後再轉換成四位元之二進位數即可。

如下表 2.7-2

     p11-2.gif (2789 個位元組)

   (2)屬非加權數碼,但可運算。運算時須注意補償因素,即每位數相加,若有進位須再加 3,無進位須再減 3。

    (3)有六種禁止狀態,分別是 0 0 0 0,0 0 0 1,0 0 1 0,1 1 0 1,1 1 1 0,1 1 1 1。

   (4)每個碼至少包含一個 "1",因此具有偵誤功能。


例 2.7-3:    1 0 1 1 0 1 0 B     試以加三碼表示之。

解:    1 0 1 1 0 1 0 B = 90(D)

          p12-1.gif (1625 個位元組)


例 2.7-4:    試以加三碼計算     4 + 3 = ?

解:   p12-2.gif (2186 個位元組)


例 2.7-5:試以加三碼計算 9 + 8 = ?

解:    p12-3.gif (2104 個位元組)


2.7-5 格雷碼(Gray   Code):

    (1)格雷碼為無權值碼,不適合做運算。

    (2)是一種最小變化碼,其最主要特性是任意相鄰兩數,只有一個Bit改變,因此,適合做資料傳輸、類比/數位轉換、輸出入裝置等。

    (3)具有上下反射性,所以又稱為反射數碼。如下表 2.7-3

十進數

二進位碼
B3   B2   B1    B0

格雷碼
G3   G2   G1   G0

0

0    0    0     0

0    0    0     0
1 0    0    0     1 0    0    0     1
2 0    0    1     0 0    0    1     1
3 0    0    1     1 0    0    1     0
4 0    1    0     0 0    1    1     0
5 0    1    0     1 0    1    1     1
6 0    1    1     0 0    1    0     1
7 0    1    1     1 0    1    0     0
8 1    0    0     0 1    1    0     0
9 1    0    0     1 1    1    0     1
10 1    0    1     0 1    1    1     1
11 1    0    1     1 1    1    1     0
12 1    1    0     0 1    0    1     0
13 1    1    0     1 1    0    1     1
14 1    1    1     0 1    0    0     1
15 1    1    1     1 1    0    0     0
           p13-1.gif (3337 個位元組)

    (4)二進碼轉換成格雷碼:

        1.二進碼之MSB即為格雷碼之MSB。

        2.二進碼之MSB起,兩兩Bit做互斥運算,即是相對應之格雷碼。

 

例 2.7-6:    求27(D)之格雷碼

解:    27(D) = 1 1 0 1 1 B

          p13-2.gif (2113 個位元組)

    (5)格雷碼轉換成二進碼:

        1.格雷碼之MSB,即為二進碼的MSB。

        2.二進碼的MSB與格雷碼的次高Bit做互斥運算,其結果即是二進碼的次高Bit,以此方式進行運算即可。

 

例 2.7-7:    將 1 1 0 1 0 1 (Gray)轉換成二進碼

解:   p14-1.gif (2031 個位元組)

 

 

2.7.6 ASCII 碼

(1)全名為(American Standard Code for Information Interchange),簡稱ASCII,稱為美國標準資訊交換碼。

(2)是美國國家標準協會(ANSI)所制定,如表2.7-4、2.7-5

表 2.7-4 美國標準資訊交換碼

十六進位 高位元組
低位元組 十進位
0 1 2 3 4 5 6 7
0 16 32 48 64 80 96 112
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15
NUL DLE SP 0 @ P ` p
SOH DC1 ! 1 A Q a q
STX DC2 " 2 B R b r
ETX DC3 # 3 C S c s
EOT DC4 $ 4 D T d t
ENQ NAK % 5 E U e u
ACK SYN & 6 F V f v
BEL ETB ' 7 G W g w
BS CAN ( 8 H X h x
HT EM ) 9 I Y i y
LF SUB * : J Z j z
VI ESC + ; K [ k {
FF FS , < L \ l |
CR GS - = M ] m }
S0 RS . > N ^ n ~
S1 US / ? O _ o DEL

 

表 2.7-5    美國標準資訊交換碼 (縮寫代碼與說明)

縮寫代碼 說  明
縮寫代碼 說  明
NUL 空字元
SOH 標題啟始
STX 文件啟始
ETX 文件結束
EOT 傳輸結束
ENQ 詢問
ACK 確認
BEL 響鈴
BS 游標倒退
HT 水平定位
LF 跳列
VT 垂直定位
FF 跳頁
CR 歸位
SO 移出
SI 移入
DLE 跳脫資料鏈結
DC1 元件控制1
DC2 元件控制2
DC3 元件控制3
DC4 元件控制4
NAK 未確認
SYN 同步/閒置
ETB 傳輸區塊結束
CAN 刪除資料
EM 傳輸媒介結束
SUB 代換
ESC 跳脫
FS 檔案分離
GS 群體分離
RS 記錄分離
US 單元分離
SP 空白
DEL 刪除

 

例 2.7-8:    寫出下列符號的ASCII碼 (a) A    (b) a    (c) 0    (d) *

解:                 符號             ASCII碼

            (a)         A                 41H=65

            (b)         a                 61H=97

            (c)         0                 30H=48

            (d)         *                 2AH=42 


2.7.7    EBCDIC碼:

    (1)EBCDIC碼是另一種常用的文數字碼,稱為擴充式二進位編碼的十進位數交換碼(Extended   Binary  Coded  Decimal  Interchage  Code),簡稱EBCDIC碼。

    (2)EBCDIC碼是使用8位元的二進位數來編碼,如表 2.7-6、2.7-7

表 2.7-6    擴充式二進位編碼的十進位交換碼

L\H 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL   DS   SP & _                 0
1     SOS       /   a j     A J   1
2     FS           b k s   B K S 2
3   TM             c l t   C L T 3
4 PF RES BYP PN         d m u   D M U 4
5 HT NL LF RS         e n v   E N V 5
6 LC BS EOB UC         f o w   F O W 6
7 DL   PRE EOT         g p x   G P X 7
8                 h q y   H Q Y 8
9                 i r z   I R Z 9
A   CC SM   Ø !   :                
B           $ , #                
C         < * % @                
D         ( ) _ '                
E         + ; > =                
F CU1 CU2 CU3 |   ? "                

 

表 2.7-7    擴充式二進位編碼的十進位交換碼 (縮寫代碼與說明)

縮寫代碼 說  明
縮寫代碼 說  明
BS 游標倒退
BYP 略過
CC 游標控制
CU1 使用者自定
CU2 使用者自定
CU3 使用者自定
DL 刪除
DS 數位選擇
EOB 區塊結束
EOT 傳輸結束
FS 檔案間隔
HT 水平定位
IL 閒置
LC 小寫
LF 跳列
NL 下一列
NUL 空字元
PF 關閉打卡機
PN 開啟打卡機
PRE 加字首
RES 重新取回
RS 讀卡機停止
SM 設定模式
SP 空白
TM 磁帶
UC 大寫
邏輯 NOT
| 邏輯 OR

例 2.7-9:    寫出下列符號的EBCDIC碼 (a) A    (b) a    (c) 0    (d) *

解:                 符號           EBCDIC碼

            (a)         A                C1H=193

            (b)         a                 81H=129

            (c)         0                 F0H=240

            (d)         *                 5CH=92


到上一頁 回章節首頁