分析日常生活中接觸到的數(shù)字,無非有兩種類型的數(shù)字:一種數(shù)字描述的是量的大小或多少,如路長40km、體重40kg等;另一類數(shù)字不表示量的大小或多少,而是代表某個事物的代碼,如運動員的編號、學生的學號等。為了便于記憶和處理,在編制代碼時總要遵循一定的規(guī)則,這些規(guī)則就叫做碼制。
在數(shù)字系統(tǒng)中對各類信息進行處理時,總是先將這些信息用一定位數(shù)的二進制代碼表示,然后再對這些二進制代碼進行處理。因此,為了便于機器識別,必須把十進制數(shù)的各個數(shù)碼用二進制代碼表示出來,形成相應(yīng)的二進制代碼,也叫二-十進制代碼,簡稱bcd(binary coded decimals)碼。
根據(jù)不同的編碼規(guī)則,有不同的bcd碼。幾種常用的bcd碼如表1所示。
表1 幾種常見的 bcd代碼
編碼種類十進制數(shù)碼
8421 碼
2421 碼
5211 碼
余 3 碼
余 3 循環(huán)碼
0
0000
0000
0000
0011
0010
1
0001
0001
0001
0100
0110
2
0010
0010
0100
0101
0111
3
0011
0011
0101
0110
0101
4
0100
0100
0111
0111
0100
5
0101
1011
1000
1000
1100
6
0110
1100
1001
1001
1101
7
0111
1101
1100
1010
1111
8
1000
1110
1101
1011
1110
9
1001
1111
1111
1100
1010
權(quán)
8421
2421
5211
8421碼是bcd碼中最常用的一種。在這種編碼方式中每一位的1都代表一個固定的值,從左向右分別為8、4、2、1,它們稱為每一位的權(quán),因為每一位的權(quán)都是保持不變的,所以8421碼是一種恒權(quán)代碼。把8421碼中所有1所在位的權(quán)值相加得到的結(jié)果就是該代碼所代表的十進制數(shù)。因此,8421碼的編碼規(guī)則遵循加權(quán)和的公式。
2421碼也是一種恒權(quán)代碼,從左向右各位的權(quán)依次為2、4、2、1.從表4-1-1中可以看出,0和9、1和8、2和7、3和6、4和5的2421碼互為反碼,所以利用2421碼可以方便地求十進制數(shù)的補碼。
5211碼也是一種恒權(quán)代碼,從左向右各位的權(quán)依次為5、2、1、1。利用該代碼可以方便地組成分頻器。
余3碼的編碼規(guī)則與前面3種編碼不同,每一位的1在不同的代碼中并不代表固定的數(shù)值,因此稱為變權(quán)代碼。從表4-1-1中可以看出,如果把每一個余3碼看做一個4位二進制數(shù),則它的數(shù)值比它所表示的十進制數(shù)多3,故將這種代碼叫做余3碼。利用余3碼也可以方便地求十進制數(shù)的補碼。
余3循環(huán)碼也是一種變權(quán)代碼,其編碼的特點是相鄰的兩個代碼之間僅有一位的狀態(tài)不同。