數(shù)字電路所處理的全部信息必須用0和1來(lái)表示,所以,在數(shù)字電路中,0和1不僅可代表二進(jìn)制數(shù)的兩個(gè)數(shù)碼,它們按二進(jìn)制計(jì)數(shù)規(guī)律排列起來(lái)表示數(shù)值的大小,而且還可按照其他規(guī)律排列起來(lái)表示特定的信息。在這種情況下,0和1不再帶有數(shù)量的含義,而是不同事物的代號(hào),稱之為代碼(code)。在同一個(gè)系統(tǒng)中,代碼與所表示的信息之間應(yīng)該有一個(gè)對(duì)應(yīng)的關(guān)系,建立這種關(guān)系的過(guò)程稱為編碼。二進(jìn)制編碼就是使用二進(jìn)制代碼來(lái)表示相應(yīng)信息的過(guò)程。
n位二進(jìn)制數(shù)總共可以組合成個(gè)代碼,如果所需要編碼的信息有n個(gè),則需要的二進(jìn)制數(shù)碼位數(shù)n應(yīng)滿足如下關(guān)系:
如果把十進(jìn)制數(shù)的十個(gè)數(shù)碼0~9用二進(jìn)制代碼來(lái)表示,稱之為二-十進(jìn)制編碼,即bcd(binary coded decimal)編碼。bcd碼由四位二進(jìn)制代碼組成,由于四位二進(jìn)制數(shù)總共可以組成24=16個(gè)代碼,而編碼十進(jìn)制數(shù)只需使用十個(gè)代碼,因此,二-十進(jìn)制編碼的方案可以有很多種,例如常用的8421碼、2421碼、5421碼、余3碼等。前三種屬于有權(quán)編碼,后一種屬于無(wú)權(quán)編碼。
在有權(quán)bcd碼中,十進(jìn)制數(shù) (n)d與二進(jìn)制編碼 (k3k2k1k)b的關(guān)系可以表示為:
,w3~ w0為二進(jìn)制各位的權(quán)重。
8421碼各位的權(quán)重是8、4、2、1,故稱8421碼,它由四位二進(jìn)制數(shù)從小到大十六種組合中的前十種組合而成,也就是0000~1001,其余六種組合是無(wú)效的。這是一種最為常見(jiàn)的bcd編碼方案。
顧名思義,2421碼各位的權(quán)重是2、4、2、1,5421碼各位的權(quán)重是5、4、2、1。
余3碼是由8421碼加3(0011)得來(lái)的,不能用式(8.1.1)來(lái)表示其編碼關(guān)系,因此它是一種無(wú)權(quán)碼。
下表列出二進(jìn)制數(shù)與一些bcd編碼之間的關(guān)系。
應(yīng)該指出的是,bcd碼和二進(jìn)制數(shù)在形式上有一定的相似之處,但它們是完全不同的兩個(gè)概念。例如,十進(jìn)制數(shù)135轉(zhuǎn)換為等值的二進(jìn)制數(shù)時(shí),其結(jié)果為
但是用8421bcd碼表示時(shí),其結(jié)果為