Menu Close

第五节 二进制编码

计算机不仅能进行科学计算,还能处理各种文字,这就要利用编码的方式实现。因此编码在数字系统中利用0和1,表示更多的数码、符号、字母。那么什么是编码呢?

1. 编码定义: 用一定位数的二进制数来表示十进制数码、字母、符号等信息称为编码。

目前在数字系统及计算机系统中有多种编码,如16进制数,BCD码,2421码,ASCII码,余3码,格雷码等编码,这些编码都是利用一位或多位2进制数0、1两个数码并赋予一定规则,在特定的规则下形成编码。下面将对这些编码分别进行简单介绍。由于2进制数表示的8进制数,16制数前面已经介绍,这里不在累述。

2.  源码

源码是由一位或多位0、1按照特定顺序形成的编码, 如 10,01,00,11等,源码在赋予其它特定规则,将会形成意义明确的编码。如将2进制源码的码字之间的权值设为2n,就形成2进制无符号数。如果在无符号的基础上再附加规则正、负号规则,则会形成有符号数,如果在加上小数点,则形成2进制小数等特殊的编码。

3. 反码

反码的概念非常简单,就是将源码中的每个2进制位取反就得到反码。2进制位取反就是将该位的1变成0,0变成1。

如:  4’b1010的反码为 4’b0101,

                 8’b1000_1111的反码为 8’b0111_0000。

4. 偏置码与2的补码

一般2进制数的编码称为自然码,如0000表示0,1111表示15等。为了某方面的需要,有时会对自然码加上一些偏置,形成偏置码。也有的是在电路处理时由于直流偏置效应形成的偏置,对于这种情况就要研究如何消除偏置。使用最普遍的是对等偏置,将自然码减去2N-1形成偏置(整个数码的一半),其中N表示N位2进制数。这种偏置码也称为2的补码。如:4位2进制数自然码为0000-1111, 加偏置为-2N-1=-23=-8, 这样就形成了有符号数的2的补码。如表1

表1

2进制自然码 偏置码(2的补码) 自然码对应的十进制数 有符号数的2的补码(偏置码)对应的十进制数
0000 1000 0 -8
0001 1001 1 -7
0010 1010 2 -6
0011 1011 3 -5
0100 1100 4 -4
0101 1101 5 -3
0110 1110 6 -2
0111 1111 7 -1
1000 0000 8 0
1001 0001 9 1
1010 0010 10 2
1011 0011 11 3
1100 0100 12 4
1101 101 13 5
1110 0110 14 6
1111 0111 15 7

 

5. BCD码

BCD码也称2-10进制编码:用4位二进制数(b3b2b1b0)2来表示十进制数中的 0 ~ 9 十个数码。简称BCD(binary coding decimal)码。 因各位的权值依次为8、4、2、1,故称8421 BCD码。采用BCD码的主要原因是,2进制或16进制在输入、输出、显示时不直观,如(C8)16,或(11001000)2我们见到后不能立即反应数值得大小,特别是当数据较大时更加不直观,但如果给出10进制200,我们能快速反应该数的大小。注意4位2进制数与BCD码不是一一对应的。2进制的 (1010),(1011),(1100),(1101),(1110),(1111)这6个2进制数在BCD编码中没有数据与之对应

表2

2进制数 BCD 说明
0000 0 用4位2进制数表达10进制数
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010,1011,1100,1101,1110,1111 没定义
  •  BCD码的权值:
    • BCD码的码字内的4位2进制数的权值分别为8,4,2,1  如1001可以写成 1 x 8+ 0 x 4 +0 x 2 + 1 x 1
    • BCD 码的码字间的权值为10N, 因为BCD用来表示10进制数。 如(189)BCD 中1的权值为102,8的权值为101,9的权值为1(100
    • BCD码与2进制数,16进制数之间相互转换在后续课程中将会介绍。
    • BCD码用2进制数表示时,最高位如果为0,则可以省略不写。如 ((0011)2(1011)2),也可以写成((11)2(1011)2 .
  • BCD 码与16进制数异同
    • 相同点:
      • 都是4位2进制组成的基本单位(位),
      • 在0-9内表达的数制大小相同。
    • 不同点:
      • BCD码的基数为10,而16进制数的基数为16,
      • BCD码只有0-9 基本位元,16进制有0-9, A, B, C, D, E, F基本位元,
      • BCD码的权值为10,16进制权值是16。

练习题:(1)  请指明下面哪些是合法的BCD码,如果不合法,请指明原因。

(346)BCD  ,( (1000)2(0111)2(0110)2)BCD,   ((1100)2(110)2)BCD,  (368A)BCD , ((110)2(1000)2(1001)2)BCD  ,((110)2)BCD

(2)写出下列BCD码或16进制数对应十进制数的数制

(28)BCD ,  (28)16 , (100)BCD, (64)16

 

6.其他简单编码格式:

2421码的权值依次为2、4、2、1;

余3码由8421码加0011得到;

格雷码是一种循环码,其特点是任何相邻的两个码字,仅有一位2进制数不同,其它位相同。

常用的编码如图1所示:

%title插图%num

图1 常用的编码对应表

 

 

 

7. ASCII 编码

为了方便计算机的使用,将7位2进制数进行编码,在ASCII(American Standard Code for Information Interchange,美国标准信息交换码)码的基础上可以方便处理数字,字母,单词文章等,后来又扩展到256 Unicode编码等其它一些编码。但ASCII编码的确是计算机编码的基础,详细内容请参照什么是ASCII码? ASCII码对照表–视频教程  , ASCII 码表ASCII码一览表,ASCII码对照表 等章节内容。

练习题:

(1)写出3位2进制数表示的格雷码

(2)列表显示由4位2进制编码的格雷码(16个),并观察每列格雷码的特点,并能快速记忆4位格雷码。

 

Posted in IC, 教材与教案, 数字电路基础, 数字电路基础, 文章

发表回复

相关链接