1.4二进制代码
1.4.1二-十进制码
1.4.2格雷码
1.4.3ASCII码
1.4二进制代码
二进制代码的位数(n),与需要编码的事件(或信息)的个数(N)之间应满足以下关系:
2n-1≤N≤2n
1.二—十进制码(数值编码)
(BCD码-----BinaryCodeDecimal)
用4位二进制数来表示一位十进制数中的0~9十个数码。
从4位二进制数16种代码中,选择10种来表示0~9个数码的方案有很多种。每种方案产生一种BCD码。
码制:编制代码所要遵循的规则
BCD码十进制数码
8421码
2421码
5421码
余3码
余3循环码
0
0000
0000
0000
0011
0010
1
0001
0001
0001
0100
0110
2
0010
0010
0010
0101
0111
3
0011
0011
0011
0110
0101
4
0100
0100
0100
0111
0100
5
0101
1011
1000
1000
1100
6
0110
1100
1001
1001
1101
7
0111
1101
1010
1010
1111
8
1000
1110
1011
1011
1110
9
1001
1111
1100
1100
1010
(1)几种常用的BCD代码
1.4.1二-十进制码
(2)各种编码的特点
余3码的特点:当两个十进制的和是10时,相应的二进制正好是16,于是可自动产生进位信号,而不需修正.1和9,2和8,…..6和4的余3码。便于求10的补码。
余3码循环码:相邻的两个代码之间仅一位的状态不同。按余3码循环码组成计数器时,每次转换过程只有一个触发器翻转,译码时不会发生竞争-冒险现象。
有权码:编码与所表示的十进制数之间的转换容易
如8421BCD=(90)D
对于有权BCD码,可以根据位权展开求得所代表的十进制数。例如:
[
]
BCD
8421
0111
(
)
D
7
=
1
1
2
1
4
1
8
0
+
+
+
=
?
?
?
?
[
]
(
)
D
BCD
2421
7
1
1
2
0
4
1
2
1
1101
=
+
+
+
=
?
?
?
?
(4)求BCD代码表示的十进制数
对于一个多位的十进制数,需要有与十进制位数相同的几组BCD代码来表示。例如:
不能省略!
不能省略!
(3)用BCD代码表示十进制数
1.4.2格雷码
格雷码是一种无权码。
二进制码
b3b2b1b0
格雷码
G3G2G1G0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
编码特点是:任何两个相邻代码之间仅有一位不同。
该特点常用于模拟量的转换。当模拟量发生微小变化,格雷码仅仅改变一位,这与其它码同时改变2位或更多的情况相比,更加可靠,且容易检错。
二进制码到格雷码的转换
(1)格雷码的最高位(最左边)与二进制码的最高位相同。
(2)从左到右,逐一将二进制码相邻的两位相加(舍去进位),作为格雷码的下一位。
1—??0—??1—??1二进制码
????
1110格雷码
格雷码到二进制码的转换
(1)二进制码的最高位(最左边)与格雷码的最高位相同。
(2)将产生的每一位二进制码,与下一位相邻的格雷码相加(舍去进位),作为二进制码的下一位。
1.4.3ASCII码(字符编码)
ASCII码即美国标准信息交换码。
它共有128个代码,可以表示大、小写英文字母、十进制数、标点符号、运算符号、控制符号等,普遍用于计算机的键盘指令输入和数据等。